Systems and methods automatically erasing content stored on a set top box

ABSTRACT

Systems and methods for erasing content stored on a set top box via a dedicated input object of a remote input device are described. A set top box (STB) receives a request to activate the set top box. The STB can create a storage location to which the STB is configured to store identifiers and passwords of a guest. The STB stores one or more user identifiers and passwords of the guest that correspond to one of one or more applications or web services accessed via the device. The STB receives, from a remote control device via a wireless communication, a command to delete the user identifiers and passwords stored on the STB responsive to selection of a delete button on the remote control device. An agent executing on the STB can delete the one or more user identifiers and passwords from the STB responsive to receipt of the command.

RELATED APPLICATION

This application claims the benefit under 35 U.S.C. § 119 of U.S.Provisional Application No. 62/273,916, entitled “SYSTEMS AND METHODSAUTOMATICALLY ERASING CONTENT STORED ON A SET TOP BOX” and filed on Dec.31, 2015, which is incorporated herein by reference in its entirety.

FIELD OF THE DISCLOSURE

The present disclosure is generally directed to security and privacyrelated issues relating to set top boxes deployed at locations wherenetwork connectivity is restricted. In particular, the presentdisclosure describes techniques for automatically erasing content storedon a set top box via a remote device or a via a reset request from ahotel management system.

BACKGROUND OF THE DISCLOSURE

Many hotel rooms are equipped with a set top box through which guests ofthe hotel room can watch content on a television. The guests can requestaccess to particular types of content through the set top box, which islinked to a hotel management system of the hotel. When the guest checksout of the hotel, the hotel charges the guest for the requested accessto the content. In existing systems, the content that the guest canrequest access to is limited and often overpriced. As a result, very fewguests request access to content via the set top box.

BRIEF SUMMARY OF THE DISCLOSURE

Systems and methods of the present solution are directed toauthenticating and providing application access via a hotel managementsystem. As described above, many hotel rooms are equipped with a set topbox through which guests of the hotel room can watch content on atelevision. The set top box equipped in hotel rooms is often linked to ahotel management system, through which the set top box can receivecontent that can be displayed on the television. The content can includeservices offered by the hotel as well as other relevant informationrelating to the hotel and the guest's stay. Examples of the content caninclude weather information, nearby attractions and things to do. Inaddition, the set top box can be configured to receive requests topurchase access to particular types of content, for instance, movies,music, among others. The set top box can provide the requests to thehotel management system, which can then process the requests and providethe set top box authorization to provide the content associated with therequests.

Guests staying at hotels often have subscribed to various servicesthrough which the guests can access content, such as movies and music.For instance, guests may have subscription accounts with various contentstreaming platforms, such as HULU, NETFLIX, AMAZON VIDEO, among others.As such, guests, instead of purchasing access to content via the set topbox, may stream content on their personal devices from the variouscontent streaming platforms. This may adversely affect the hotel in thatthe guests may stream the content using the hotel's internet connection,thereby affecting the performance of the internet the hotel offers itsguests. Moreover, hotels may face reduced revenues due to the lack ofdemand or interest in the content provided by the set top boxes of thehotels.

In an effort to address the challenges mentioned above and for otherreasons, the systems and methods of the present solution are directed toauthenticating and providing application access via a hotel managementsystem. According to some aspects, the present solution may helpalleviate the increased consumption of bandwidth of the hotel's internetby managing the access to applications and the delivery of content ofguests. In one aspect, an intermediary box, for instance, a set top box,can be connected to a hotel management system and an Internet connectionand television. The set top box can include a memory on which one ormore applications are installed that can provide access to correspondingmedia streaming services. The intermediary box can control access to theapplications via authorization of payment for bandwidth via the hotelmanagement system.

According to one aspect, a method for authenticating and providingapplication access via a hotel management system is described. Themethod can be performed by a cloud management system. The cloudmanagement system establishes a first connection with a hotel managementsystem of a hotel property and a second connection with a set top box ofthe hotel property. The set top box includes a plurality of applicationsaccessible by a guest of the hotel property. The cloud management systemreceives, from the set top box via the second connection, a request of aguest of the hotel property to purchase access to an application of theplurality of applications provided by the set top box. The cloudmanagement system transmits, to the hotel management system via thefirst connection a request for payment to an account of the guest at thehotel property. The cloud management system then transmits, responsiveto receiving approval for payment from the hotel management system, anapproval to purchase access to the application via the second connectionto the set top box.

In some implementations, the set top box can grant access to theapplication to the guest of the hotel property responsive to receivingthe approval for payment. In some implementations, the set top box canlaunch the application to be displayed on a viewing device of at leastone of the hotel property accessible by the guest or a guest's mobiledevice. In some implementations, the set top box can prevent access tothe application until receipt of approval for payment from the hotelmanagement system.

In some implementations, the cloud management system can receive arequest to assign a set top box to an account of the guest, the set topbox corresponding to a room of the hotel property to which the guest isassigned. The cloud management system can then assign the set top boxcorresponding to the room to the account of the guest. In someimplementations, the cloud management system can transmit datacorresponding to the account of the guest maintained by the hotelmanagement system to the set top box responsive to assigning the set topbox corresponding to the room to the account of the guest. In someimplementations, the cloud management system can receive an indicationfrom the hotel management system that the guest has checked out of theroom. The cloud management system can then transmit a request toterminate access to the application of the set top box responsive toreceiving the indication. In some implementations, the set top box canterminate access to the application responsive to receiving the requestto terminate access.

In some implementations, the set top box can establish a thirdconnection with a mobile device of the guest, the mobile deviceincluding a second application configured to provide an interface tocommunicate with the set top box. The set top box can transmit contentfor display on a display of the mobile device via the second applicationresponsive to granting access to the application to the guest. In someimplementations, the set top box can receive an indication of an actionperformed at the second application of the mobile device via the thirdconnection. The set top box can then transmit, responsive to receivingthe indication of the action performed at the second application,supplemental content for display on the display of the mobile device.The supplemental content can be received by the set top box via a fourthconnection established with a server of the application of the set topbox.

According to another aspect, a system for authenticating and providingapplication access via a hotel management system is described. Thesystem includes a cloud management system configured to communicate witha hotel management system of a hotel property via a first connection.The system also includes a set top box configured to communicate withthe cloud management system via a second connection. The set top boxincludes a plurality of applications accessible by a guest of the hotelproperty. The cloud management system is configured to receive from theset top box via the second connection a request of a guest of the hotelproperty to purchase access to an application of the plurality ofapplications provided by the set top box and transmit to the hotelmanagement system via the first connection a request for payment to anaccount of the guest at the hotel property. The cloud management systemis further configured to transmit, responsive to receiving approval forpayment from the hotel management system, an approval to purchase accessto the application via the second connection to the set top box.

In some implementations, the set top box can grant access to theapplication to the guest of the hotel property responsive to receivingthe approval for payment. In some implementations, the set top box canlaunch the application to be displayed on a viewing device of at leastone of the hotel property accessible by the guest or a guest's mobiledevice. In some implementations, the set top box can prevent access tothe application until receipt of approval for payment from the hotelmanagement system.

In some implementations, the cloud management system can receive arequest to assign a set top box to an account of the guest, the set topbox corresponding to a room of the hotel property to which the guest isassigned. The cloud management system can then assign the set top boxcorresponding to the room to the account of the guest. In someimplementations, the cloud management system can transmit datacorresponding to the account of the guest maintained by the hotelmanagement system to the set top box responsive to assigning the set topbox corresponding to the room to the account of the guest. In someimplementations, the cloud management system can receive an indicationfrom the hotel management system that the guest has checked out of theroom. The cloud management system can then transmit a request toterminate access to the application of the set top box responsive toreceiving the indication. In some implementations, the set top box canterminate access to the application responsive to receiving the requestto terminate access.

In some implementations, the set top box can establish a thirdconnection with a mobile device of the guest, the mobile deviceincluding a second application configured to provide an interface tocommunicate with the set top box. The set top box can transmit contentfor display on a display of the mobile device via the second applicationresponsive to granting access to the application to the guest. In someimplementations, the set top box can receive an indication of an actionperformed at the second application of the mobile device via the thirdconnection. The set top box can then transmit, responsive to receivingthe indication of the action performed at the second application,supplemental content for display on the display of the mobile device.The supplemental content can be received by the set top box via a fourthconnection established with a server of the application of the set topbox.

According to another aspect, methods and systems for erasing contentstored on a set top box via a dedicated input object of a remote inputdevice are described. A set top box receives a request to activate theset top box. The set top box can create a storage location to which theset top box is configured to store identifiers and passwords of a guest.The set top box can store one or more user identifiers and passwords ofthe guest that correspond to one of one or more applications or webservices accessed via the set top box. The set top box can receive, froma remote control device via a wireless communication, a command todelete the user identifiers and passwords stored on the set top boxresponsive to selection of a delete button on the remote control device.An agent executing on the set top box can delete the one or more useridentifiers and passwords from the set top box responsive to receipt ofthe command.

According to another aspect, methods and systems for erasing contentstored on a set top box responsive to a guest checking out from a hotelare described. A set top box receives a request to activate the set topbox. The set top box can create a storage location to which the set topbox is configured to store identifiers and passwords of a guest. The settop box can store one or more user identifiers and passwords of theguest that correspond to one of one or more applications or web servicesaccessed via the set top box. The set top box can receive acommunication identifying that the guest of the hotel propertycorresponding to the set top box has checked out from the hotelproperty. An agent executing on the set top box can delete the one ormore user identifiers and passwords from the set top box responsive toreceipt of the communication.

According to another aspect, a system for erasing content stored on aset top box is described. The system includes a set top box comprising aplurality of applications or web services accessible by a user of ahotel property. The set top box is configured to store one or more useridentifiers and passwords of the user corresponding to one of theplurality of applications or web services accessed via the set top box.A remote control device is configured to communicate with the set topbox. The remote control device is configured to transmit a command todelete the user's history on the device responsive to selection of adelete button on the remote control device. The set top box comprises anagent configured to delete the one or more user identifiers andpasswords from the set top box responsive to receipt of the command.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, aspects, features, and advantages ofthe disclosure will become more apparent and better understood byreferring to the following description taken in conjunction with theaccompanying drawings, in which:

FIG. 1A is a block diagram depicting an embodiment of a networkenvironment comprising a client device in communication with serverdevice;

FIG. 1B is a block diagram depicting a cloud computing environmentcomprising client device in communication with cloud service providers;

FIGS. 1C and 1D are block diagrams depicting embodiments of computingdevices useful in connection with the methods and systems describedherein;

FIG. 2A is a block diagram depicting an embodiment of a system forauthenticating and providing application access via a hotel managementsystem;

FIG. 2B is a conceptual diagram depicting an example use case for thesystem of FIG. 2A;

FIG. 3A depicts a perspective view of a set top box equipped in a hotelroom;

FIG. 3B illustrates software architecture of the set top box shown inFIG. 3A;

FIG. 3C illustrates a front view and a back view of an input deviceconfigured to operate with the set top box shown in FIG. 3A;

FIG. 4A illustrates a flow diagram of a flow of communications during aguest check in process;

FIG. 4B illustrates a flow diagram of a flow of communications when aguest requests access to an application via the set top box;

FIGS. 5A-5X are screenshots of a display on which a user interface ofthe set top box is displayed;

FIGS. 6A-6M are screenshots of a display on which a user interface ofthe set top box is displayed;

FIG. 7 is a flow chart of a process for authenticating and providingapplication access via a hotel management system;

FIG. 8 is a flow chart of a process for erasing content stored on a settop box via a dedicated input object of a remote input device;

FIG. 9 is a flow chart of a process for automatically erasing contentstored on a remote set top box via a hotel management system;

FIG. 10 illustrates a block diagram of a system for automaticallyerasing content stored on a remote set top box via a hotel managementsystem;

FIG. 11 illustrates a flow diagram of a flow of communications during aguest check out process; and

FIG. 12 illustrates a flow chart of a process for automatically erasingcontent stored on a remote set top box via a hotel management system.

DETAILED DESCRIPTION

For purposes of reading the description of the various embodimentsbelow, the following descriptions of the sections of the specificationand their respective contents may be helpful:

Section A describes a network environment and computing environmentwhich may be useful for practicing embodiments described herein.

Section B describes embodiments of systems and methods forauthenticating and providing application access via a hotel managementsystem.

Section C describes embodiments of systems and methods for automaticallyerasing content stored on a set top box.

A. Computing and Network Environment

Prior to discussing specific embodiments of the present solution, it maybe helpful to describe aspects of the operating environment as well asassociated system components (e.g., hardware elements) in connectionwith the methods and systems described herein. Referring to FIG. 1A, anembodiment of a network environment is depicted. In brief overview, thenetwork environment includes one or more clients 102 a-102 n (alsogenerally referred to as local machine(s) 102, client(s) 102, clientnode(s) 102, client machine(s) 102, client computer(s) 102, clientdevice(s) 102, endpoint(s) 102, or endpoint node(s) 102) incommunication with one or more servers 106 a-106 n (also generallyreferred to as server(s) 106, node 106, or remote machine(s) 106) viaone or more networks 104. In some embodiments, a client 102 has thecapacity to function as both a client node seeking access to resourcesprovided by a server and as a server providing access to hostedresources for other clients 102 a-102 n.

Although FIG. 1A shows a network 104 between the clients 102 and theservers 106, the clients 102 and the servers 106 may be on the samenetwork 104. In some embodiments, there are multiple networks 104between the clients 102 and the servers 106. In one of theseembodiments, a network 104′ (not shown) may be a private network and anetwork 104 may be a public network. In another of these embodiments, anetwork 104 may be a private network and a network 104′ a publicnetwork. In still another of these embodiments, networks 104 and 104′may both be private networks.

The network 104 may be connected via wired or wireless links. Wiredlinks may include Digital Subscriber Line (DSL), coaxial cable lines, oroptical fiber lines. The wireless links may include BLUETOOTH, Wi-Fi,Worldwide Interoperability for Microwave Access (WiMAX), an infraredchannel or satellite band. The wireless links may also include anycellular network standards used to communicate among mobile devices,including standards that qualify as 1G, 2G, 3G, or 4G. The networkstandards may qualify as one or more generation of mobiletelecommunication standards by fulfilling a specification or standardssuch as the specifications maintained by International TelecommunicationUnion. The 3G standards, for example, may correspond to theInternational Mobile Telecommunications-2000 (IMT-2000) specification,and the 4G standards may correspond to the International MobileTelecommunications Advanced (IMT-Advanced) specification. Examples ofcellular network standards include AMPS, GSM, GPRS, UMTS, LTE, LTEAdvanced, Mobile WiMAX, and WiMAX-Advanced. Cellular network standardsmay use various channel access methods e.g. FDMA, TDMA, CDMA, or SDMA.In some embodiments, different types of data may be transmitted viadifferent links and standards. In other embodiments, the same types ofdata may be transmitted via different links and standards.

The network 104 may be any type and/or form of network. The geographicalscope of the network 104 may vary widely and the network 104 can be abody area network (BAN), a personal area network (PAN), a local-areanetwork (LAN), e.g. Intranet, a metropolitan area network (MAN), a widearea network (WAN), or the Internet. The topology of the network 104 maybe of any form and may include, e.g., any of the following:point-to-point, bus, star, ring, mesh, or tree. The network 104 may bean overlay network which is virtual and sits on top of one or morelayers of other networks 104′. The network 104 may be of any suchnetwork topology as known to those ordinarily skilled in the art capableof supporting the operations described herein. The network 104 mayutilize different techniques and layers or stacks of protocols,including, e.g., the Ethernet protocol, the internet protocol suite(TCP/IP), the ATM (Asynchronous Transfer Mode) technique, the SONET(Synchronous Optical Networking) protocol, or the SDH (SynchronousDigital Hierarchy) protocol. The TCP/IP internet protocol suite mayinclude application layer, transport layer, internet layer (including,e.g., IPv6), or the link layer. The network 104 may be a type of abroadcast network, a telecommunications network, a data communicationnetwork, or a computer network.

In some embodiments, the system may include multiple, logically-groupedservers 106. In one of these embodiments, the logical group of serversmay be referred to as a server farm 38 or a machine farm 38. In anotherof these embodiments, the servers 106 may be geographically dispersed.In other embodiments, a machine farm 38 may be administered as a singleentity. In still other embodiments, the machine farm 38 includes aplurality of machine farms 38. The servers 106 within each machine farm38 can be heterogeneous—one or more of the servers 106 or machines 106can operate according to one type of operating system platform (e.g.,WINDOWS NT, manufactured by Microsoft Corp. of Redmond, Wash.), whileone or more of the other servers 106 can operate on according to anothertype of operating system platform (e.g., Unix, Linux, or Mac OS X).

In one embodiment, servers 106 in the machine farm 38 may be stored inhigh-density rack systems, along with associated storage systems, andlocated in an enterprise data center. In this embodiment, consolidatingthe servers 106 in this way may improve system manageability, datasecurity, the physical security of the system, and system performance bylocating servers 106 and high performance storage systems on localizedhigh performance networks. Centralizing the servers 106 and storagesystems and coupling them with advanced system management tools allowsmore efficient use of server resources.

The servers 106 of each machine farm 38 do not need to be physicallyproximate to another server 106 in the same machine farm 38. Thus, thegroup of servers 106 logically grouped as a machine farm 38 may beinterconnected using a wide-area network (WAN) connection or ametropolitan-area network (MAN) connection. For example, a machine farm38 may include servers 106 physically located in different continents ordifferent regions of a continent, country, state, city, campus, or room.Data transmission speeds between servers 106 in the machine farm 38 canbe increased if the servers 106 are connected using a local-area network(LAN) connection or some form of direct connection. Additionally, aheterogeneous machine farm 38 may include one or more servers 106operating according to a type of operating system, while one or moreother servers 106 execute one or more types of hypervisors rather thanoperating systems. In these embodiments, hypervisors may be used toemulate virtual hardware, partition physical hardware, virtualizephysical hardware, and execute virtual machines that provide access tocomputing environments, allowing multiple operating systems to runconcurrently on a host computer. Native hypervisors may run directly onthe host computer. Hypervisors may include VMware ESX/ESXi, manufacturedby VMWare, Inc., of Palo Alto, Calif.; the Xen hypervisor, an opensource product whose development is overseen by Citrix Systems, Inc.;the HYPER-V hypervisors provided by Microsoft or others. Hostedhypervisors may run within an operating system on a second softwarelevel. Examples of hosted hypervisors may include VMware Workstation andVIRTUALBOX.

Management of the machine farm 38 may be de-centralized. For example,one or more servers 106 may comprise components, subsystems and modulesto support one or more management services for the machine farm 38. Inone of these embodiments, one or more servers 106 provide functionalityfor management of dynamic data, including techniques for handlingfailover, data replication, and increasing the robustness of the machinefarm 38. Each server 106 may communicate with a persistent store and, insome embodiments, with a dynamic store.

Server 106 may be a file server, application server, web server, proxyserver, appliance, network appliance, gateway, gateway server,virtualization server, deployment server, SSL VPN server, or firewall.In one embodiment, the server 106 may be referred to as a remote machineor a node. In another embodiment, a plurality of nodes 290 may be in thepath between any two communicating servers.

Referring to FIG. 1B, a cloud computing environment is depicted. A cloudcomputing environment may provide client 102 with one or more resourcesprovided by a network environment. The cloud computing environment mayinclude one or more clients 102 a-102 n, in communication with the cloud108 over one or more networks 104. Clients 102 may include, e.g., thickclients, thin clients, and zero clients. A thick client may provide atleast some functionality even when disconnected from the cloud 108 orservers 106. A thin client or a zero client may depend on the connectionto the cloud 108 or server 106 to provide functionality. A zero clientmay depend on the cloud 108 or other networks 104 or servers 106 toretrieve operating system data for the client device. The cloud 108 mayinclude back end platforms, e.g., servers 106, storage, server farms ordata centers.

The cloud 108 may be public, private, or hybrid. Public clouds mayinclude public servers 106 that are maintained by third parties to theclients 102 or the owners of the clients. The servers 106 may be locatedoff-site in remote geographical locations as disclosed above orotherwise. Public clouds may be connected to the servers 106 over apublic network. Private clouds may include private servers 106 that arephysically maintained by clients 102 or owners of clients. Privateclouds may be connected to the servers 106 over a private network 104.Hybrid clouds 108 may include both the private and public networks 104and servers 106.

The cloud 108 may also include a cloud based delivery, e.g. Software asa Service (SaaS) 110, Platform as a Service (PaaS) 112, andInfrastructure as a Service (IaaS) 114. IaaS may refer to a user rentingthe use of infrastructure resources that are needed during a specifiedtime period. IaaS providers may offer storage, networking, servers orvirtualization resources from large pools, allowing the users to quicklyscale up by accessing more resources as needed. Examples of IaaS caninclude infrastructure and services (e.g., EG-32) provided by OVHHOSTING of Montreal, Quebec, Canada, AMAZON WEB SERVICES provided byAmazon.com, Inc., of Seattle, Wash., RACKSPACE CLOUD provided byRackspace US, Inc., of San Antonio, Tex., Google Compute Engine providedby Google Inc. of Mountain View, Calif., or RIGHTSCALE provided byRightScale, Inc., of Santa Barbara, Calif. PaaS providers may offerfunctionality provided by IaaS, including, e.g., storage, networking,servers or virtualization, as well as additional resources such as,e.g., the operating system, middleware, or runtime resources. Examplesof PaaS include WINDOWS AZURE provided by Microsoft Corporation ofRedmond, Wash., Google App Engine provided by Google Inc., and HEROKUprovided by Heroku, Inc. of San Francisco, Calif. SaaS providers mayoffer the resources that PaaS provides, including storage, networking,servers, virtualization, operating system, middleware, or runtimeresources. In some embodiments, SaaS providers may offer additionalresources including, e.g., data and application resources. Examples ofSaaS include GOOGLE APPS provided by Google Inc., SALESFORCE provided bySalesforce.com Inc. of San Francisco, Calif., or OFFICE 365 provided byMicrosoft Corporation. Examples of SaaS may also include data storageproviders, e.g. DROPBOX provided by Dropbox, Inc. of San Francisco,Calif., Microsoft SKYDRIVE provided by Microsoft Corporation, GoogleDrive provided by Google Inc., or Apple ICLOUD provided by Apple Inc. ofCupertino, Calif.

Clients 102 may access IaaS resources with one or more IaaS standards,including, e.g., Amazon Elastic Compute Cloud (EC2), Open CloudComputing Interface (OCCI), Cloud Infrastructure Management Interface(CIMI), or OpenStack standards. Some IaaS standards may allow clientsaccess to resources over HTTP, and may use Representational StateTransfer (REST) protocol or Simple Object Access Protocol (SOAP).Clients 102 may access PaaS resources with different PaaS interfaces.Some PaaS interfaces use HTTP packages, standard Java APIs, JavaMailAPI, Java Data Objects (JDO), Java Persistence API (JPA), Python APIs,web integration APIs for different programming languages including,e.g., Rack for Ruby, WSGI for Python, or PSGI for Perl, or other APIsthat may be built on REST, HTTP, XML, or other protocols. Clients 102may access SaaS resources through the use of web-based user interfaces,provided by a web browser (e.g. GOOGLE CHROME, Microsoft INTERNETEXPLORER, or Mozilla Firefox provided by Mozilla Foundation of MountainView, Calif.). Clients 102 may also access SaaS resources throughsmartphone or tablet applications, including, e.g., Salesforce SalesCloud, or Google Drive app. Clients 102 may also access SaaS resourcesthrough the client operating system, including, e.g., Windows filesystem for DROPBOX.

In some embodiments, access to IaaS, PaaS, or SaaS resources may beauthenticated. For example, a server or authentication server mayauthenticate a user via security certificates, HTTPS, or API keys. APIkeys may include various encryption standards such as, e.g., AdvancedEncryption Standard (AES). Data resources may be sent over TransportLayer Security (TLS) or Secure Sockets Layer (SSL).

The client 102 and server 106 may be deployed as and/or executed on anytype and form of computing device, e.g. a computer, network device orappliance capable of communicating on any type and form of network andperforming the operations described herein. FIGS. 1C and 1D depict blockdiagrams of a computing device 100 useful for practicing an embodimentof the client 102 or a server 106. As shown in FIGS. 1C and 1D, eachcomputing device 100 includes a central processing unit 121, and a mainmemory unit 122. As shown in FIG. 1C, a computing device 100 may includea storage device 128, an installation device 116, a network interface118, an I/O controller 123, display devices 124 a-124 n, a keyboard 126and a pointing device 127, e.g. a mouse. The storage device 128 mayinclude, without limitation, an operating system, software, and asoftware of a cloud management system 120. As shown in FIG. 1D, eachcomputing device 100 may also include additional optional elements, e.g.a memory port 103, a bridge 170, one or more input/output devices 130a-130 n (generally referred to using reference numeral 130), and a cachememory 140 in communication with the central processing unit 121.

The central processing unit 121 is any logic circuitry that responds toand processes instructions fetched from the main memory unit 122. Inmany embodiments, the central processing unit 121 is provided by amicroprocessor unit, e.g.: those manufactured by Intel Corporation ofMountain View, Calif.; those manufactured by Motorola Corporation ofSchaumburg, Ill.; the ARM processor and TEGRA system on a chip (SoC)manufactured by Nvidia of Santa Clara, Calif.; the POWER7 processor,those manufactured by International Business Machines of White Plains,N.Y.; or those manufactured by Advanced Micro Devices of Sunnyvale,Calif. The computing device 100 may be based on any of these processors,or any other processor capable of operating as described herein. Thecentral processing unit 121 may utilize instruction level parallelism,thread level parallelism, different levels of cache, and multi-coreprocessors. A multi-core processor may include two or more processingunits on a single computing component. Examples of multi-core processorsinclude the AMD PHENOM IIX2, INTEL CORE i5 and INTEL CORE i7.

Main memory unit 122 may include one or more memory chips capable ofstoring data and allowing any storage location to be directly accessedby the microprocessor 121. Main memory unit 122 may be volatile andfaster than storage 128 memory. Main memory units 122 may be Dynamicrandom access memory (DRAM) or any variants, including static randomaccess memory (SRAM), Burst SRAM or SynchBurst SRAM (BSRAM), Fast PageMode DRAM (FPM DRAM), Enhanced DRAM (EDRAM), Extended Data Output RAM(EDO RAM), Extended Data Output DRAM (EDO DRAM), Burst Extended DataOutput DRAM (BEDO DRAM), Single Data Rate Synchronous DRAM (SDR SDRAM),Double Data Rate SDRAM (DDR SDRAM), Direct Rambus DRAM (DRDRAM), orExtreme Data Rate DRAM (XDR DRAM). In some embodiments, the main memory122 or the storage 128 may be non-volatile; e.g., non-volatile readaccess memory (NVRAM), flash memory non-volatile static RAM (nvSRAM),Ferroelectric RAM (FeRAM), Magnetoresistive RAM (MRAM), Phase-changememory (PRAM), conductive-bridging RAM (CBRAIVI),Silicon-Oxide-Nitride-Oxide-Silicon (SONOS), Resistive RAM (RRAM),Racetrack, Nano-RAM (NRAM), or Millipede memory. The main memory 122 maybe based on any of the above described memory chips, or any otheravailable memory chips capable of operating as described herein. In theembodiment shown in FIG. 1C, the processor 121 communicates with mainmemory 122 via a system bus 150 (described in more detail below). FIG.1D depicts an embodiment of a computing device 100 in which theprocessor communicates directly with main memory 122 via a memory port103. For example, in FIG. 1D the main memory 122 may be DRDRAM.

FIG. 1D depicts an embodiment in which the main processor 121communicates directly with cache memory 140 via a secondary bus,sometimes referred to as a backside bus. In other embodiments, the mainprocessor 121 communicates with cache memory 140 using the system bus150. Cache memory 140 typically has a faster response time than mainmemory 122 and is typically provided by SRAM, BSRAM, or EDRAM. In theembodiment shown in FIG. 1D, the processor 121 communicates with variousI/O devices 130 via a local system bus 150. Various buses may be used toconnect the central processing unit 121 to any of the I/O devices 130,including a PCI bus, a PCI-X bus, or a PCI-Express bus, or a NuBus. Forembodiments in which the I/O device is a video display 124, theprocessor 121 may use an Advanced Graphics Port (AGP) to communicatewith the display 124 or the I/O controller 123 for the display 124. FIG.1D depicts an embodiment of a computer 100 in which the main processor121 communicates directly with I/O device 130 b or other processors 121′via HYPERTRANSPORT, RAPIDIO, or INFINIBAND communications technology.FIG. 1D also depicts an embodiment in which local busses and directcommunication are mixed: the processor 121 communicates with I/O device130 a using a local interconnect bus while communicating with I/O device130 b directly.

A wide variety of I/O devices 130 a-130 n may be present in thecomputing device 100. Input devices may include keyboards, mice,trackpads, trackballs, touchpads, touch mice, multi-touch touchpads andtouch mice, microphones, multi-array microphones, drawing tablets,cameras, single-lens reflex camera (SLR), digital SLR (DSLR), CMOSsensors, accelerometers, infrared optical sensors, pressure sensors,magnetometer sensors, angular rate sensors, depth sensors, proximitysensors, ambient light sensors, gyroscopic sensors, or other sensors.Output devices may include video displays, graphical displays, speakers,headphones, inkjet printers, laser printers, and 3D printers.

Devices 130 a-130 n may include a combination of multiple input oroutput devices, including, e.g., Microsoft KINECT, Nintendo Wiimote forthe WII, Nintendo WII U GAMEPAD, or Apple IPHONE. Some devices 130 a-130n allow gesture recognition inputs through combining some of the inputsand outputs. Some devices 130 a-130 n provides for facial recognitionwhich may be utilized as an input for different purposes includingauthentication and other commands. Some devices 130 a-130 n provides forvoice recognition and inputs, including, e.g., Microsoft KINECT, SIRIfor IPHONE by Apple, Google Now or Google Voice Search.

Additional devices 130 a-130 n have both input and output capabilities,including, e.g., haptic feedback devices, touchscreen displays, ormulti-touch displays. Touchscreen, multi-touch displays, touchpads,touch mice, or other touch sensing devices may use differenttechnologies to sense touch, including, e.g., capacitive, surfacecapacitive, projected capacitive touch (PCT), in-cell capacitive,resistive, infrared, waveguide, dispersive signal touch (DST), in-celloptical, surface acoustic wave (SAW), bending wave touch (BWT), orforce-based sensing technologies. Some multi-touch devices may allow twoor more contact points with the surface, allowing advanced functionalityincluding, e.g., pinch, spread, rotate, scroll, or other gestures. Sometouchscreen devices, including, e.g., Microsoft PIXELSENSE orMulti-Touch Collaboration Wall, may have larger surfaces, such as on atable-top or on a wall, and may also interact with other electronicdevices. Some I/O devices 130 a-130 n, display devices 124 a-124 n orgroup of devices may be augment reality devices. The I/O devices may becontrolled by an I/O controller 123 as shown in FIG. 1C. The I/Ocontroller may control one or more I/O devices, such as, e.g., akeyboard 126 and a pointing device 127, e.g., a mouse or optical pen.Furthermore, an I/O device may also provide storage and/or aninstallation medium 116 for the computing device 100. In still otherembodiments, the computing device 100 may provide USB connections (notshown) to receive handheld USB storage devices. In further embodiments,an I/O device 130 may be a bridge between the system bus 150 and anexternal communication bus, e.g. a USB bus, a SCSI bus, a FireWire bus,an Ethernet bus, a Gigabit Ethernet bus, a Fibre Channel bus, or aThunderbolt bus.

In some embodiments, display devices 124 a-124 n may be connected to I/Ocontroller 123. Display devices may include, e.g., liquid crystaldisplays (LCD), thin film transistor LCD (TFT-LCD), blue phase LCD,electronic papers (e-ink) displays, flexile displays, light emittingdiode displays (LED), digital light processing (DLP) displays, liquidcrystal on silicon (LCOS) displays, organic light-emitting diode (OLED)displays, active-matrix organic light-emitting diode (AMOLED) displays,liquid crystal laser displays, time-multiplexed optical shutter (TMOS)displays, or 3D displays. Examples of 3D displays may use, e.g.stereoscopy, polarization filters, active shutters, or autostereoscopy.Display devices 124 a-124 n may also be a head-mounted display (HMD). Insome embodiments, display devices 124 a-124 n or the corresponding I/Ocontrollers 123 may be controlled through or have hardware support forOPENGL or DIRECTX API or other graphics libraries.

In some embodiments, the computing device 100 may include or connect tomultiple display devices 124 a-124 n, which each may be of the same ordifferent type and/or form. As such, any of the I/O devices 130 a-130 nand/or the I/O controller 123 may include any type and/or form ofsuitable hardware, software, or combination of hardware and software tosupport, enable or provide for the connection and use of multipledisplay devices 124 a-124 n by the computing device 100. For example,the computing device 100 may include any type and/or form of videoadapter, video card, driver, and/or library to interface, communicate,connect or otherwise use the display devices 124 a-124 n. In oneembodiment, a video adapter may include multiple connectors to interfaceto multiple display devices 124 a-124 n. In other embodiments, thecomputing device 100 may include multiple video adapters, with eachvideo adapter connected to one or more of the display devices 124 a-124n. In some embodiments, any portion of the operating system of thecomputing device 100 may be configured for using multiple displays 124a-124 n. In other embodiments, one or more of the display devices 124a-124 n may be provided by one or more other computing devices 100 a or100 b connected to the computing device 100, via the network 104. Insome embodiments software may be designed and constructed to use anothercomputer's display device as a second display device 124 a for thecomputing device 100. For example, in one embodiment, an Apple iPad mayconnect to a computing device 100 and use the display of the device 100as an additional display screen that may be used as an extended desktop.One ordinarily skilled in the art will recognize and appreciate thevarious ways and embodiments that a computing device 100 may beconfigured to have multiple display devices 124 a-124 n.

Referring again to FIG. 1C, the computing device 100 may comprise astorage device 128 (e.g. one or more hard disk drives or redundantarrays of independent disks) for storing an operating system or otherrelated software, and for storing application software programs such asany program related to the software for the cloud management system 120.Examples of storage device 128 include, e.g., hard disk drive (HDD);optical drive including CD drive, DVD drive, or BLU-RAY drive;solid-state drive (SSD); USB flash drive; or any other device suitablefor storing data. Some storage devices may include multiple volatile andnon-volatile memories, including, e.g., solid state hybrid drives thatcombine hard disks with solid state cache. Some storage device 128 maybe non-volatile, mutable, or read-only. Some storage device 128 may beinternal and connect to the computing device 100 via a bus 150. Somestorage devices 128 may be external and connect to the computing device100 via an I/O device 130 that provides an external bus. Some storagedevice 128 may connect to the computing device 100 via the networkinterface 118 over a network 104, including, e.g., the Remote Disk forMACBOOK AIR by Apple. Some client devices 100 may not require anon-volatile storage device 128 and may be thin clients or zero clients102. Some storage device 128 may also be used as an installation device116, and may be suitable for installing software and programs.Additionally, the operating system and the software can be run from abootable medium, for example, a bootable CD, e.g. KNOPPIX, a bootable CDfor GNU/Linux that is available as a GNU/Linux distribution fromknoppix.net.

Client device 100 may also install software or application from anapplication distribution platform. Examples of application distributionplatforms include the App Store for iOS provided by Apple, Inc., the MacApp Store provided by Apple, Inc., GOOGLE PLAY for Android OS providedby Google Inc., Chrome Webstore for CHROME OS provided by Google Inc.,and Amazon Appstore for Android OS and KINDLE FIRE provided byAmazon.com, Inc. An application distribution platform may facilitateinstallation of software on a client device 102. An applicationdistribution platform may include a repository of applications on aserver 106 or a cloud 108, which the clients 102 a-102 n may access overa network 104. An application distribution platform may includeapplication developed and provided by various developers. A user of aclient device 102 may select, purchase and/or download an applicationvia the application distribution platform.

Furthermore, the computing device 100 may include a network interface118 to interface to the network 104 through a variety of connectionsincluding, but not limited to, standard telephone lines LAN or WAN links(e.g., 802.11, T1, T3, Gigabit Ethernet, Infiniband), broadbandconnections (e.g., ISDN, Frame Relay, ATM, Gigabit Ethernet,Ethernet-over-SONET, ADSL, VDSL, BPON, GPON, fiber optical includingFiOS), wireless connections, or some combination of any or all of theabove. Connections can be established using a variety of communicationprotocols (e.g., TCP/IP, Ethernet, ARCNET, SONET, SDH, Fiber DistributedData Interface (FDDI), IEEE 802.11a/b/g/n/ac CDMA, GSM, WiMax and directasynchronous connections). In one embodiment, the computing device 100communicates with other computing devices 100′ via any type and/or formof gateway or tunneling protocol e.g. Secure Socket Layer (SSL) orTransport Layer Security (TLS), or the Citrix Gateway Protocolmanufactured by Citrix Systems, Inc. of Ft. Lauderdale, Fla. The networkinterface 118 may comprise a built-in network adapter, network interfacecard, PCMCIA network card, EXPRESSCARD network card, card bus networkadapter, wireless network adapter, USB network adapter, modem or anyother device suitable for interfacing the computing device 100 to anytype of network capable of communication and performing the operationsdescribed herein.

A computing device 100 of the sort depicted in FIGS. 1B and 1C mayoperate under the control of an operating system, which controlsscheduling of tasks and access to system resources. The computing device100 can be running any operating system such as any of the versions ofthe MICROSOFT WINDOWS operating systems, the different releases of theUnix and Linux operating systems, any version of the MAC OS forMacintosh computers, any embedded operating system, any real-timeoperating system, any open source operating system, any proprietaryoperating system, any operating systems for mobile computing devices, orany other operating system capable of running on the computing deviceand performing the operations described herein. Typical operatingsystems include, but are not limited to: WINDOWS 2000, WINDOWS Server2022, WINDOWS CE, WINDOWS Phone, WINDOWS XP, WINDOWS VISTA, and WINDOWS7, WINDOWS RT, and WINDOWS 8 all of which are manufactured by MicrosoftCorporation of Redmond, Wash.; MAC OS and iOS, manufactured by Apple,Inc. of Cupertino, Calif.; and Linux, a freely-available operatingsystem, e.g. Linux Mint distribution (“distro”) or Ubuntu, distributedby Canonical Ltd. of London, United Kingdom; or Unix or other Unix-likederivative operating systems; and Android, designed by Google, ofMountain View, Calif., among others. Some operating systems, including,e.g., the CHROME OS by Google, may be used on zero clients or thinclients, including, e.g., CHROMEBOOKS.

The computer system 100 can be any workstation, telephone, desktopcomputer, laptop or notebook computer, netbook, ULTRABOOK, tablet,server, handheld computer, mobile telephone, smartphone or otherportable telecommunications device, media playing device, a gamingsystem, mobile computing device, or any other type and/or form ofcomputing, telecommunications or media device that is capable ofcommunication. The computer system 100 has sufficient processor powerand memory capacity to perform the operations described herein. In someembodiments, the computing device 100 may have different processors,operating systems, and input devices consistent with the device. TheSamsung GALAXY smartphones, e.g., operate under the control of Androidoperating system developed by Google, Inc. GALAXY smartphones receiveinput via a touch interface.

In some embodiments, the computing device 100 is a gaming system. Forexample, the computer system 100 may comprise a PLAYSTATION 3, orPERSONAL PLAYSTATION PORTABLE (PSP), or a PLAYSTATION VITA devicemanufactured by the Sony Corporation of Tokyo, Japan, a NINTENDO DS,NINTENDO 3DS, NINTENDO WII, or a NINTENDO WII U device manufactured byNintendo Co., Ltd., of Kyoto, Japan, an XBOX 360 device manufactured bythe Microsoft Corporation of Redmond, Wash.

In some embodiments, the computing device 100 is a digital audio playersuch as the Apple IPOD, IPOD Touch, and IPOD NANO lines of devices,manufactured by Apple Computer of Cupertino, Calif. Some digital audioplayers may have other functionality, including, e.g., a gaming systemor any functionality made available by an application from a digitalapplication distribution platform. For example, the IPOD Touch mayaccess the Apple App Store. In some embodiments, the computing device100 is a portable media player or digital audio player supporting fileformats including, but not limited to, MP3, WAV, M4A/AAC, WMA ProtectedAAC, AIFF, Audible audiobook, Apple Lossless audio file formats and.mov, .m4v, and .mp4 MPEG-4 (H.264/MPEG-4 AVC) video file formats.

In some embodiments, the computing device 100 is a tablet e.g. the IPADline of devices by Apple; GALAXY TAB family of devices by Samsung; orKINDLE FIRE, by Amazon.com, Inc. of Seattle, Wash. In other embodiments,the computing device 100 is an eBook reader, e.g. the KINDLE family ofdevices by Amazon.com, or NOOK family of devices by Barnes & Noble, Inc.of New York City, N.Y.

In some embodiments, the communications device 102 includes acombination of devices, e.g. a smartphone combined with a digital audioplayer or portable media player. For example, one of these embodimentsis a smartphone, e.g. the IPHONE family of smartphones manufactured byApple, Inc.; a Samsung GALAXY family of smartphones manufactured bySamsung, Inc.; or a Motorola DROID family of smartphones. In yet anotherembodiment, the communications device 102 is a laptop or desktopcomputer equipped with a web browser and a microphone and speakersystem, e.g. a telephony headset. In these embodiments, thecommunications devices 102 are web-enabled and can receive and initiatephone calls. In some embodiments, a laptop or desktop computer is alsoequipped with a webcam or other video capture device that enables videochat and video call.

In some embodiments, the status of one or more machines 102, 106 in thenetwork 104 are monitored, generally as part of network management. Inone of these embodiments, the status of a machine may include anidentification of load information (e.g., the number of processes on themachine, CPU and memory utilization), of port information (e.g., thenumber of available communication ports and the port addresses), or ofsession status (e.g., the duration and type of processes, and whether aprocess is active or idle). In another of these embodiments, thisinformation may be identified by a plurality of metrics, and theplurality of metrics can be applied at least in part towards decisionsin load distribution, network traffic management, and network failurerecovery as well as any aspects of operations of the present solutiondescribed herein. Aspects of the operating environments and componentsdescribed above will become apparent in the context of the systems andmethods disclosed herein.

B. Authenticating and Providing Application Access to Set Top Boxes Viaa Hotel Management System

Systems and methods of the present solution are directed toauthenticating and providing application access via a hotel managementsystem. As described above, many hotel rooms are equipped with a set topbox through which guests of the hotel room can watch content on atelevision. The set top box equipped in hotel rooms is often linked to ahotel management system, through which the set top box can receivecontent that can be displayed on the television. The content can includeservices offered by the hotel as well as other relevant informationrelating to the hotel and the guest's stay. Examples of the content caninclude weather information, nearby attractions and things to do. Inaddition, the set top box can be configured to receive requests topurchase access to particular types of content, for instance, movies,music, among others. The set top box can provide the requests to thehotel management system, which can then process the requests and providethe set top box authorization to provide the content associated with therequests.

In some implementations, a room can be equipped with a set top box thatis coupled to a television via a cable, such as an HDMI connection. Theset top box can be configured to communicate and link with the hotelmanagement system of the hotel that manages one or more servicesprovided by the hotel to the guests. The room can also be equipped withan input device, such as a remote control, via which a guest caninteract with the set top box. The set top box can connect to one ormore networks, including the Internet, via one or more wireless or wiredconnections. In some implementations, these connections may be securesuch that other devices of the guest may be restricted access. A guestcan, via the input device, utilize the set top box as a device foraccessing content, such as movies, songs, and other web-based contentvia the internet. The guest may be charged a fee to access the contentvia the internet. In some implementations, the guest may be charged toaccess one or more applications that can be installed on the set topbox, for instance, content streaming applications, such as NETFLIX,HULU, AMAZON VIDEO, PANDORA, SPOTIFY, among others. The hotel managementsystem with which the set top box can communicate can be used forbilling purposes and activating and deactivating the set top box basedon an amount of data streamed or a length of time for which access tothe application is provided. Furthermore, the set top box can beconfigured to automatically delete the data the guest entered in the settop box, such as passwords and other login credentials. In someimplementations, the hotel management system may send a request todelete the data responsive to determining that the guest has checked outof the hotel.

In some implementations, the input device of the set top box can beconfigured to include a dedicated button that can cause the set top boxto erase information relating to the guest's activity via the set topbox. This information can include browsing history, login credentials,files, cookies, or other content that may have been stored on the settop box while the guest was accessing content via the set top box. Theinput device can further include a tracking signal. The tracking signalcan be configured to trigger an alarm if the input device is removedfrom a predefined location. In some implementations, the input devicemay be deactivated if the input signal is not receiving an actuationsignal that is only available in the predefined location. This featuremay deter thefts of the input devices.

In some implementations, each set top box can establish a privatevirtual network that is secured such that only the guest's devices canconnect to the set top box via the private virtual network. In this way,information of the guest remains secure and out of reach of devices ofother guests or people seeking to gain access to the guest's computingdevices.

Guests staying at hotels often have subscribed to various servicesthrough which the guests can access content, such as movies and music.For instance, guests may have subscription accounts with various contentstreaming platforms, such as HULU, NETFLIX, AMAZON VIDEO, among others.As such, guests, instead of purchasing access to content via the set topbox, may stream content on their personal devices from the variouscontent streaming platforms. This may adversely affect the hotel in thatthe guests may stream the content using the hotel's internet connection,thereby affecting the performance of the internet the hotel offers itsguests. Moreover, hotels may face reduced revenues due to the lack ofdemand or interest in the content provided by the set top boxes of thehotels.

In an effort to address the challenges mentioned above and for otherreasons, the systems and methods of the present solution are directed toauthenticating and providing application access via a hotel managementsystem. According to some aspects, the present solution may helpalleviate the increased consumption of bandwidth of the hotel's internetby managing the access to applications and the delivery of content ofguests. In one aspect, an intermediary box, for instance, a set top boxcan be connected to a hotel management system and an Internet connectionand television. The set top box can include a memory on which one ormore applications are installed that can provide access to correspondingmedia streaming services. The intermediary box can control access to theapplications via authorization of payment for bandwidth via the hotelmanagement system.

According to one aspect, a method for authenticating and providingapplication access via a hotel management system is described. Themethod can be performed by a cloud management system. The cloudmanagement system establishes a first connection with a hotel managementsystem of a hotel property and a second connection with a set top box ofthe hotel property. The set top box includes a plurality of applicationsaccessible by a guest of the hotel property. The cloud management systemreceives, from the set top box via the second connection, a request of aguest of the hotel property to purchase access to an application of theplurality of applications provided by the set top box. The cloudmanagement system transmits, to the hotel management system via thefirst connection a request for payment to an account of the guest at thehotel property. The cloud management system then transmits, responsiveto receiving approval for payment from the hotel management system, anapproval to purchase access to the application via the second connectionto the set top box.

In some implementations, the set top box can grant access to theapplication to the guest of the hotel property responsive to receivingthe approval for payment. In some implementations, the set top box canlaunch the application to be displayed on a viewing device of at leastone of the hotel property accessible by the guest or a guest's mobiledevice. In some implementations, the set top box can prevent access tothe application until receipt of approval for payment from the hotelmanagement system.

In some implementations, the cloud management system can receive arequest to assign a set top box to an account of the guest, the set topbox corresponding to a room of the hotel property to which the guest isassigned. The cloud management system can then assign the set top boxcorresponding to the room to the account of the guest. In someimplementations, the cloud management system can transmit datacorresponding to the account of the guest maintained by the hotelmanagement system to the set top box responsive to assigning the set topbox corresponding to the room to the account of the guest. In someimplementations, the cloud management system can receive an indicationfrom the hotel management system that the guest has checked out of theroom. The cloud management system can then transmit a request toterminate access to the application of the set top box responsive toreceiving the indication. In some implementations, the set top box canterminate access to the application responsive to receiving the requestto terminate access.

In some implementations, the set top box can establish a thirdconnection with a mobile device of the guest, the mobile deviceincluding a second application configured to provide an interface tocommunicate with the set top box. The set top box can transmit contentfor display on a display of the mobile device via the second applicationresponsive to granting access to the application to the guest. In someimplementations, the set top box can receive an indication of an actionperformed at the second application of the mobile device via the thirdconnection. The set top box can then transmit, responsive to receivingthe indication of the action performed at the second mobile application,supplemental content for display on the display of the mobile device.The supplemental content can be received by the set top box via a fourthconnection established with a server of the mobile application of theset top box.

Referring now to FIG. 2A, a content delivery environment 200 isdepicted. The content delivery environment 200 can include one or morehotel management systems 208, a plurality of set top boxes 210, and aserver 106 executing a cloud management system 120, such as the cloudmanagement system 120 shown in FIG. 1C. The hotel management system 240,the set top boxes 210, and the server 106 may communicate with oneanother over a network 105, such as the Internet. The hotel managementsystem 202 and the set top boxes 210 may communicate with one anothervia a second network 215 (shown as hotel network 215). The secondnetwork 215 may extend within premises of a hotel. In someimplementations, the second network 215 may be secure such that otherdevices, for instance, devices of guests of the hotel may not be able toaccess content via the second network 215. In addition, the contentdelivery environment 200 may include one or more databases 250 thatstore content accessible by the hotel management system and the set topbox via the second network 215.

The hotel management system 202 may execute on one or more servers, suchas the server 106. The hotel management system can include a guestmanager 204, a reservations manager 206 and a content delivery manager208, among others. The hotel management system 202 can also include oneor more modules for managing a hotel network, such as the hotel network215. The hotel management system 202 can also maintain one or moredatabases, such as the database 250.

The guest manager 204 can comprise components, subsystems, modules,scripts or one or more sets of computer-executable instructions and canbe configured to manage a guest database. In some implementations, theguest manager 204 can be configured to create, maintain and update oneor more guest databases. The guest database can include a tableincluding a plurality of entries, each entry corresponding to a guest ofthe hotel. The guest can be a guest that has already stayed at the hotelor a guest that has made a reservation to stay at the hotel. The guestmanager 204 can be configured to maintain the guest database in astorage location, such as the database 250. In some implementations,each entry of the guest database can correspond to a guest. Each entrycan include a plurality of fields, including but not limited to a namefield, an address field, an email address field, a phone number field,one or more preferences fields, one or more payment information fields,a room field identifying a current room to which the guest is assigned,a room history field identifying data corresponding to previous stays ofthe guest at the hotel, among others. In some implementations, one ofthe preferences fields can include information about the types ofcontent the guest has previously accessed through a set top box of thehotel. In some implementations, the preferences field can be updatedafter each stay by the guest. In some implementations, the preferencesfield can be updated after the guest makes a request to access aparticular application via the set top box assigned to the guest. Theguest database can also include additional information, includingauthentication credentials to one or more applications to which theguest has subscribed and accessed via a set top box of the hotel.

The reservations manager 206 can comprise components, subsystems,modules, scripts or one or more sets of computer-executable instructionsand can be configured to manage a reservations database. In someimplementations, the reservations manager 206 can be configured tocreate, maintain and update one or more reservations databases. Thereservations database can include a table including a plurality ofentries, each entry corresponding to a room of the hotel. Thereservations manager 206 can be configured to maintain the reservationsdatabase in a storage location, such as the database 250. In someimplementations, each entry of the reservations database can correspondto a room of the hotel. Each entry can include a plurality of fields,including but not limited to a reservations identifier field identifyinga reservations, a room number to be assigned to the guest according tothe reservations, a room type field, a room preferences type (forinstance, smoking or non-smoking, king bed or queen bed, among others),a floor field identifying a floor on which the room is located, a settop box identifier field identifying a set top box equipped in the room,a guest assignment field identifying a guest assigned to the room, amongothers.

The reservations manager 206 can be configured to update an entrycorresponding to a particular reservation responsive to receiving arequest to assign a guest to a particular room. In some implementations,the reservations manager 206 can identify the room to which a guest isbeing assigned. The reservations manager 206 can then identify an entryin the reservations database corresponding to the identified room andupdate the guest assignment field to include information uniquelyidentifying the guest.

The reservations manager 206 can be configured to update an entrycorresponding to a particular reservation responsive to receiving arequest to checkout a guest. In some implementations, the reservationsmanager 206 can identify an entry in the reservations databasecorresponding to the reservation and update the entry to indicate thatthe guest has checked out of the room. The reservations manager 206 canfurther be configured to cause the hotel management system 202 to takeadditional actions. In some implementations, the hotel management system202 can be configured to cause the set top box to be reset responsive todetermining that a guest has checked out from a room of the hotel. Byresetting the set top box, any information pertaining to the guest'susage of the set top box can be removed prior to another guest accessingthe set top box equipped in the room. In this way, the privacy of theguest who checked out is maintained and any accounts to which the guestsubscribes are not accessible by any future guests of the hotel room.Additional details regarding resetting the set top box are describedwith respect to the set top box 210.

The content delivery manager 208 can comprise components, subsystems,modules, scripts or one or more sets of computer-executable instructionsand can be configured to manage the delivery of content to the set topboxes 210. The content delivery manager 208 can be configured tocommunicate with each of the set top boxes 210 equipped in rooms of thehotel. The content delivery manager 208 can be configured to establishconnections with each of the set top boxes 210. In some implementations,the content delivery manager 208 can be configured to establish aconnection with a set top box 210 responsive to the reservations manager206 updating an entry of the reservations database corresponding to aroom being assigned to a guest. The content delivery manager 208 can beconfigured to identify the set top box assigned to the room from theentry of the reservations database. The content delivery manager 208 canutilize the identity of the set top box to establish a connection withthe set top box 210 via the network 215. The content delivery manager208 can be configured to transmit a request to configure the set top box210 based on the guest to whom the room is assigned. In someimplementations, the request can include instructions to provide the settop box 210 information regarding the reservation or the guest, forinstance, the name of the guest, the length of the guest's stay, one ormore preferences of the guest, and in some implementations, installingone or more applications on the set top box to which the guest hasaccounts. In some implementations, the applications can include contentstreaming applications, such as AMAZON, HULU, NETFLIX, SPOTIFY, PANDORAamong others. In some implementations, the applications can includesocial networking applications, such as FACEBOOK, TWITTER, INSTAGRAM,among others. In some implementations, the applications can includeother applications, such as news applications, or other content-basedapplications, such as FLIPBOARD, among others.

The content delivery manager 208 can be configured to communicate withthe server 106 executing the cloud management system 120. The contentdelivery manager 208 can be configured to communicate with the cloudmanagement system 120 via the network 105. In some implementations, thecontent delivery manager 208 can be configured to receive, from thecloud management system 120, one or more requests to provide, to a settop box 210, access to content of one or more applications. Forinstance, the cloud management system 120 can be configured to transmita request to purchase access to content of an application installed onthe set top box or a request to authorize installation of an applicationon the set top box. In some implementations, the cloud management system120 can be configured to transmit the request to purchase access tocontent of an application responsive to the cloud management system 120receiving a request from a guest of the hotel room via the set top boxequipped in the hotel room.

The content delivery manager 208 can be configured to receive a requestto purchase access to content of an application installed on the set topbox from the cloud management system 120. The request can identify theset top box to which to enable access to the content as well asinformation pertaining to a guest requesting to purchase access to thecontent. The content delivery manager 208 can be configured to receivepayment information via the request and can be configured toauthenticate the request and the payment information via one or more ofthe guest manager 204 or the reservations manager 206.

The content delivery manager 208 upon authenticating the request, cantransmit a response to one or more of the cloud management system 120 orthe set top box 210 for which the request to purchase access wastransmitted authorizing the set top box to access content of theapplication. In some implementations, the content delivery manager 208can transmit a response to one or more of the cloud management system120 or the set top box 210 for which the request to purchase access wastransmitted denying authorization to the set top box to access contentof the application. In some implementations, the content deliverymanager 208 may deny authorization responsive to determining that thepayment information is invalid or if the application for which access isrequested is not supported by the hotel management system or the set topbox, among others.

The content delivery manager 208 can be configured to cause the hotelmanagement system 202 to generate a charge for the purchased access. Thecontent delivery manager 208 can communicate with the reservationsmanager 206 to update an entry corresponding to the reservation toinclude a charge corresponding to the purchased access. In someimplementations in which guests may prepay or receive priorauthorization to access content of one or more applications, the contentdelivery manager 208 can be configured to determine that the guest haspreviously been authorized access to the application and may transmit aresponse authorizing access to the application responsive to receiving arequest from the cloud management system 120. In some implementations,the content delivery manager 208 can be configured to set instructionsto the set top box during configuration indicating that the guest isauthorized to access one or more applications. As such, the guest mayaccess content of the application without having to submit a request topurchase access to the application via the set top box.

Each set top box 210 can include hardware and software. The set top box210 can include a processor, memory, and one or more computer-executableinstructions configured to be executed by the processor. The set top box210 can be coupled to a television or other display. In someimplementations, the set top box 210 can be integral to the televisionor display. The set top box can be configured to include a requestmanager 212, a content manager 214, a reset manager 216 and a deviceinterface manager 218. The set top box can be configured to communicatewith the hotel management system 202 and the server of the cloudmanagement system 120. In some implementations, the set top box caninclude a first communication interface through which the set top boxcommunicates with the hotel management system 202 via a local network,such as the network 215. The set top box 210 can also include a secondcommunication interface through which the set top box 210 cancommunicate with the server 106 of the cloud management system 120 viathe network 105.

The set top box 210 can be operated using a remote control, mouse,keyboard, touchscreen or other input peripheral. In someimplementations, the set top box 210 can be paired to communicate withthe guest's mobile device, such as a mobile phone or tablet. The set topbox can be configured to be paired with the guest's mobile device.

The set top box 210 can include one or more preinstalled applications,including content streaming applications for which guests may havesubscription accounts. In some implementations, the set top box 210 canbe configured to install one or more applications from an applicationsdatabase, such as the GOOGLE PLAY STORE or the APPLE APP STORE, amongothers. In some implementations, the set top box 210 can be configuredto install one or more applications on the set top box from a locallystored and maintained applications database, such as the database 250.In some implementations, the set top box 210 can be configured to allowguests to install applications on the set top box responsive to approvalfrom the hotel management system 202 or the cloud management system 120.

The request manager 212 can comprise components, subsystems, modules,scripts or one or more sets of computer-executable instructions and canbe configured to receive one or more requests. In some implementations,the request manager 212 can be configured to receive requests from thehotel management system 240 via the network 105 or the second network215. In some implementations, the request manager 212 can be configuredto receive a request from the hotel management system 202 to configurethe set top box. The request to configure the set top box can bereceived in response to the hotel management system checking in a guestor assigning a guest to a room in which the set top box is located. Asdescribed above, the request to configure the set top box can includereservation information pertaining to the reservation of the guest.

The request manager 212 can be configured to configure the set top box210. The request manager 212 can configure the set top box by updatingone or more applications, files, content objects, stored on the set topbox 210 to include information relating to the reservation. In addition,the request manager 212 can configure the set top box 210 such that anyrequests for content are tracked and monitored. The request manager 212can configure the set top box 210 such that when a guest assigned to theroom requests a service from the hotel management system, the set topbox 210 can transmit a request to the hotel management system thatincludes an identifier associated with the reservation or the guest. Thehotel management system can use the identifier of the reservation or theguest to charge any services received by the guest to the guest uponcheckout.

The request manager 212 can receive an input from a user to purchaseaccess to one or more applications. The user can provide the input viaan input device communicatively coupled with the set top box 210. Forinstance, the user can select an icon displayed on a graphical userinterface to access a particular application. In response, the set topbox can determine if the guest is authorized to access the particularapplication or if the application is available for access. The set topbox 210 can determine, responsive to a communication from the cloudmanagement system or the hotel management system, or based on a lookupin a permissions database, whether the guest has permission to accessthe application. In some implementations, the set top box 210 candetermine that the application is accessible if the set top box isconfigured to allow the application to launch. Responsive to receivingthe input and determining that the application is not accessible (orcontent of the application is not accessible), the request manager 212can generate a request to purchase access to the one or moreapplications (or to content of the applications) based on the input fromthe user. The request manager 212 can generate the request to purchaseaccess to the application. The request to purchase access to theapplication can include one or more of an application identifier, a settop box identifier, a guest identifier, a reservation identifier,payment information or payment authorization information, among others.

The request manager 212 can be configured to transmit the request topurchase access to the application to the cloud management system 120.The request manager 212 can generate a request for transmission to thecloud management system. The request manager 212 can transmit therequest via a communication interface of the set top box communicativelycoupled to the cloud management system. The request manager 212 cantransmit the request in one or more packets. The packets can includeheader information identifying the hotel associated with the set topbox, a unique identifier of the set top box, among others. The headerinformation can also identify an IP address of the cloud managementsystem 120 to which to transmit the packets. The request manager 212 canbe configured to generate the one or more packets used to transmit therequest to the cloud management system 120.

In some implementations, the request manager 212 can be configured totransmit a request to the cloud management system 120 responsive to auser of the set top box requesting content. The request transmitted bythe request manager 212 can include information identifying the set topbox, such as a unique identifier of the set top box, for instance, amedia access control (MAC) address of the set top box, an IP address ofthe set top box, or one or more other pieces of information that can beused by the cloud management system 120 to uniquely identify the set topbox 210. In some implementations, the request can include informationunique to a guest of the hotel to which the hotel room is assigned. Asdescribed above, the set top box 210 and the server 106 of the cloudmanagement system 120 can communicate via the connection establishedover the network 105, such as the network 105.

The request manager 212 can be configured to receive one or moreresponses to requests transmitted by the request manager 212. Therequest manager 212 can execute instructions included in one or moreresponses or use information in the responses received by the set topbox 210 to execute one or more computer-executable instructions. Therequest manager 212 can receive responses from the cloud managementsystem 120 via the network 105 or the hotel management system 202 viathe hotel network 215.

The content manager 214 can comprise components, subsystems, modules,scripts or one or more sets of computer-executable instructions and canbe configured to manage access to content provided via one or moreapplications capable of executing on the set top box 210. The contentmanager 214 can determine content requested to be accessed by the guestvia the guest's interactions with the set top box. The content manager214 can be configured to determine if the content requested by the settop box is locally stored on the set top box to reduce the latency andthe bandwidth consumed in transferring content from a remote server. Thecontent manager 214 may be configured to determine if a storage deviceaccessible via the hotel network 215 is storing the content requested bythe guest. The content manager 214 may communicate with the requestmanager to retrieve content from a local storage of the set top box orfrom the storage device accessible via the hotel network 215 instead oftransmitting a request to the cloud management server to retrieve therequested content. In this way, the amount of bandwidth of the network105 consumed to access the requested content is conserved, therebyreducing the load on the network 105.

The content manager 214 can be configured to install one or moreapplications on the set top box 210. In some implementations, thecontent manager 214 may be configured to install applications on the settop box responsive to receiving authorization from the hotel managementsystem or the cloud management system 120. In some implementations, theapplications may already be installed on the set top box but the guestsmay not have authorization to access the applications. In someimplementations, the content manager 214 can be configured to allow theguest to access an application installed on the set top box responsiveto receiving data from the hotel management system 202 or the cloudmanagement system 120 indicating that the set top box 210 is authorizedto allow the guest access to the application.

The content manager 214 can be configured to receive requests to accesscontent from one or more applications executing on the set top box 210.The applications can include content streaming applications, games, newsapplications, or one or more additional applications similar toapplications that may be installed on a mobile device of the guest. Thecontent manager 214 can be configured to identify content requested bythe guest via the applications and store the identity of the content ina history folder of the application or a folder or database maintainedby the set top box 210. The content manager 214 can share the identityof the content requested with the cloud management system and the hotelmanagement system 202. In this way, when a large number of set top boxesat a particular hotel location request the same content, the cloudmanagement system 120 and the hotel management system 202 may determineto store that content local to the hotel and allow guests to access thecontent via the hotel network 215 instead of the network 105.

In some implementations, the content manager 214 can be configured toidentify content for the guest associated with the set top box. In someimplementations, the content manager may be configured to analyze aguests' preferences in content based on the guest's previous contentviewing history, social networking profile information, and otherinformation made available to the set top box 210. In someimplementations, the guest manager 204 of the hotel management system202 may maintain information that can be used by the content manager 214to determine content that the guest may be interested in accessing. Insome implementations, the content manager 214 may retrieve content fromvarious sources based on the preferences of the guest and providerecommendations to the guest to access the retrieved content.

The content manager 214 can further be configured to receive logincredentials relating to one or more applications from the guest. In someimplementations, the guest may provide authentication informationpertaining to one or more applications via an input device of the settop box 210. The content manager 214 can be configured to store theauthentication information in a security database maintained in memoryof the set top box 210. The content manager 214 can maintain a tableincluding a plurality of entries. Each entry of the table can correspondto a particular application installed on the set top box. The entry caninclude an application identifier, a guest name, a guest username, aguest password, payment information, among others. The content manager214 can access the guest username and password from the table stored inthe memory of the set top box. In some implementations, the contentmanager 214 can, responsive to a guest requesting to access a particularapplication that requires login credentials via the set top box, thecontent manager 214 can initiate an instance of the application,retrieve the login credentials (for instance, guest username andpassword) from the entry in the table corresponding to the application(for instance, based on a lookup of the table using the applicationidentifier) and retrieve the login credentials from the table. Thecontent manager 214 can then input the login credentials and provide theguest access to the application and its contents. In someimplementations, the login credentials of an application may be storedin a folder maintained by the application or a browser, among others. Insome implementations, the login credentials may be stored to allow auser to access the application multiple times without having to reenterthe login credentials during each new session established with theapplication.

The reset manager 216 can comprise components, subsystems, modules,scripts or one or more sets of computer-executable instructions and canbe configured to reset the set top box. In some implementations, thereset manager 216 can cause the set top box to be reset such that thesettings of the set top box are restored to default settings. Additionaldetails relating to the reset manager 216 are described below withrespect to section C.

The device interface manager 218 can comprise components, subsystems,modules, scripts or one or more sets of computer-executable instructionsand can be configured to manage interfacing with one or more otherdevices. Examples of such devices can include remote control devices,mobile devices of a guest, such as a smartphone, tablet, phablet,laptop, smartwatch or other such devices. The device interface manager218 can be configured to control the operation of one or morecommunication interfaces. In some implementations, the communicationinterfaces can be ports, modules or other components that enable the settop box to establish connections with the other devices. In someimplementations, the communication interfaces can be an infrared sensor,a Bluetooth component, a WiFi module, an Ethernet port, a USB port,among others. The device interface manager 218 can be configured to pairthe set top box with the other devices. In some implementations, thedevice interface manager 218 can be configured to enable the set top boxto communicate with a mobile phone of the guest via Bluetooth. In someimplementations, the guest may install an application on the mobilephone that can be configured to pair with the set top box and enable themobile phone to act as an input device to the set top box. In someimplementations, the signals from the mobile phone can be transmitted tothe set top box 210 via a wireless network, either Bluetooth or WiFi,among others.

In some implementations, an input device, such as a remote control asshown in FIGS. 3A-3C may be used as an input device for the set top box.The remote control may be configured or encrypted such that the signalstransmitted by the remote control can be received and decrypted by theset top box.

The cloud management system 120 can execute on one or more servers, suchas the server 106 described above with respect to FIGS. 1A-1D. The cloudmanagement system 120 includes a set top box manager 262, an applicationmanager 264, a content selector 266 and a profile manager 268. The cloudmanagement system 120 can include one or more modules that may performthe functionality of the set top box manager 262, the applicationmanager 264, the content selector 266 and the profile manager 268 aswell as other functionality of the cloud management system 120.

The set top box manager 262 can comprise components, subsystems,modules, scripts or one or more sets of computer-executable instructionsand can be configured to manage set top boxes of hotels. The set top boxmanager 262 can be configured to establish communications with one ormore set top boxes 210. In some implementations, the set top box manager262 can be configured to establish respective communication channelswith each set top box equipped in a hotel room of a hotel to which thecloud management system 120 provides content delivery services. In someimplementations, the set top box manager 262 can be configured toreceive a request from a set top box 210 via the network 105. In someimplementations, the set top box manager 262 can be configured totransmit a request to establish a connection with the set top box 210.In some implementations, the set top box manager 262 can be configuredto transmit a request to establish a connection with the set top box 210in response to receiving an indication from the hotel management system202 that a guest has been assigned to a hotel room equipped with the settop box. In some implementations, the set top box of the hotel room canbe configured to transmit a request to the cloud management system 120responsive to the set top box being switched on.

The application manager 264 can comprise components, subsystems,modules, scripts or one or more sets of computer-executable instructionsand can be configured to manage one or more applications installed ordeployed on set top boxes, such as the set top box 210. In someimplementations, the application manager 264 can be configured tocommunicate with the hotel management system 202 to determine whether toprovide the set top box authorization to install the application on theset top box 210. In some implementations, the application manager 206can be configured to communicate with the hotel management system 202 todetermine whether to provide the set top box the ability to accesscontent via the application executing on the set top box 210. In someimplementations, the application manager 264 can maintain a list ofapplications that each set top box or guest associated with the set topbox is authorized to access. In some implementations, the applicationmanager 264 can store the list in a data structure maintained in memoryof the cloud management system. The list of applications can be updatedby the application manager 264. In some implementations, the applicationmanager 264 can maintain a list of applications that each guest isallowed or otherwise authorized to access based on the reservation ofthe guest or based on whether the guest is included in a list of gueststhat have authorization to access the applications.

The content selector 266 can comprise components, subsystems, modules,scripts or one or more sets of computer-executable instructions and canbe configured to select content that the guest associated with the settop box 210 is authorized to access. In some implementations, thecontent selector 266 can identify, from a request from the set top box210, the identity of a particular content item the guest would like toaccess via an application executing on the set top box 210. The contentselector can also identify the application via which the guest isrequesting access to the particular content item. The content selectorcan then establish a connection with a content server of the applicationand make a request to access the particular content item. The contentselector can then, responsive to receiving a response from the contentserver, receive the content item from the content server and deliver thecontent item to the hotel management system. The hotel management systemcan then deliver the content item to the set top box for streaming viathe application via which the guest requested access to the contentitem. In some implementations, the content selector may deliver thecontent item directly to the set top box for streaming. In someimplementations, the content selector may establish a connection betweenthe content server and the hotel management system 202 to enable thecontent server to deliver the content item to the hotel managementsystem 202. In some implementations, the content selector may establisha connection between the content server and the set top box 210 toenable the content server to deliver the content item to the set top box210. In some implementations, the content server of the application can,responsive to receiving the request from the content selector, establishthe connection with the hotel management system 202 or the set top box210 to deliver the requested content item.

The content selector 266 can further be configured to provide one ormore applications for installation on the set top box responsive to arequest from the set top box. In some implementations, the applicationscan be content streaming applications, games, productivity tools, orother types of applications that may execute on the set top box 210. Insome implementations, the set top box can include computer-executableinstructions to emulate a mobile phone or tablet such that applicationsavailable through application stores can be installed on the set topbox.

The profile manager 268 can be configured to manage one or more guestprofiles of guests. In some implementations, when a guest is assigned toa set top box 210, for instance, when checking into a hotel room, theguest's information can be provided to the cloud management system 120.In some implementations, the profile manager 268 can generate a profileof the guest. The profile manager 268 can record the guest's activitiesvia the set top box, including but not limited to the applications theguest accesses, the content items the guests requests to access, as wellas other online activities performed by the guest via the set top box210. The profile manager 268 can store this information in a datastructure associated with the guest. When the guest is assigned to asecond set top box, for instance, during a subsequent stay at adifferent hotel, the profile manager 268 can access the guest's datastructure and preinstall one or more applications that the guest haspreviously accessed as well as identify content items that are similarto content items that the guest has previously requested. In addition,the profile manager 268 can store set top box configuration settingsthat the guest may have set up in the past such that the guest does nothave to reconfigure multiple set top boxes when staying at differentrooms. In some implementations, the profile manager 268 can beconfigured to maintain login credentials of one or more applicationssuch that the guest does not have to reenter the login credentials eachtime the guest operates a different set top box. In someimplementations, the profile manager 268 can also maintain otherinformation that may be useful to the guest as the guest stays atdifferent hotels.

Referring now also to FIG. 2B, a diagram illustrating an environment forallocating networking resources for content delivery is displayed. Thecloud management system 240 can be configured to communicate with thehotel management system 202 via a first connection 292. The firstconnection can be a secure connection between one or more firewallsdeployed by the cloud management system 240 and the hotel managementsystem 202. The first connection 292 can be over a virtual privatenetwork. In some implementations, the first connection 292 can beestablished via the Internet. In some implementations, the cloudmanagement system 240 can be configured to transmit a request to thehotel management system to establish the first connection. In someimplementations, the hotel management system 202 can be configured totransmit a request to the cloud management system to establish the firstconnection 292.

The hotel management system 202 can include or execute on a cache serverthat is configured to store traffic received from the cloud managementserver 240 or from one or more content servers corresponding toapplications, such as applications 280. The cache server can monitortraffic to the set top boxes equipped in rooms of the hotel of the hotelmanagement system. In some implementations, the hotel management system202 can also include one or more additional servers that provide othercontent to the set top boxes. For instance, the hotel management system202 can include servers that can provide video on demand content to theset top boxes via the hotel management system. In some implementations,hotel can include additional equipment that is configured to delivercontent to set top boxes of the hotel rooms. For instance, the hotel caninclude property headend equipment, including but not limited to onemore satellite dishes and one or more cable lines for deliveringbroadband internet and television media, among others.

The set top boxes 210 equipped in rooms of the hotel can be configuredto communicate with the hotel management system 202 via a secondconnection 294 established via the property access network or hotelnetwork 215. The set top boxes can include a communication interface,such as an Ethernet port or wireless radio modules through which the settop boxes can communicate with the hotel management system or one ormore servers corresponding to the hotel management system. In someimplementations, the set top boxes can include one or more additionalcommunication interfaces with which the set top boxes can communicatewith mobile devices of guests, such as mobile phones and tablets. Insome implementations, the set top boxes can be configured to establishconnections with the mobile devices of guests over a guest network thatis accessible by mobile devices of guests. In some implementations, theset top boxes can communicate via short range connections, such asBluetooth, among others. In some implementations, the guest network thatis accessible to mobile devices of guests may have reduced bandwidthpreventing or compromising the quality of content streamed over theguest network. The set top box, however, is capable of communicatingwith the hotel management system via the hotel network 215 that provideshigher throughputs and bandwidth than the guest network. As a result,guests can access and stream content via the set top box withoutexperiencing latency issues that are apparent over the guest network.

FIG. 3A depicts a perspective view of a set top box equipped in a hotelroom. The set top box can include multiple ports and communicationinterfaces. FIG. 3B illustrates a software architecture of the set topbox shown in FIG. 3A. The software architecture includes a first layer306 representing the operating system of the set top box. The operatingsystem can be a specialized operating system configured to executeapplications on the operating system. The software architecture includesa second layer 308 representing the application layer. The applicationlayer includes one or more applications installed on the operatingsystem. The applications can include content streaming applications aswell as social media applications. The software architecture alsoincludes a third layer 306 representing the user interface layer. Thethird layer sits on the second layer 308 and provides a user interfacethrough which a guest can interact with the set top box. In someimplementations, the third layer can be customized for the hotel atwhich the set top box is located. The third layer can include userinterface elements, including but not limited to logos, images, sounds,videos, and themes corresponding to the hotel. In some implementations,the third layer can allow a hotel to white label the set top box and theuser interface. FIG. 3C illustrates a front view 354 and a back view 356of an input device 350 configured to operate with the set top box shownin FIG. 3A. The front 354 of the input device includes an applicationbutton that can be used to access a page on which applications installedon the set top box are presented for display. The back 356 of the inputdevice can include a keyboard for typing.

FIG. 3D illustrates one or more modules of the input device 350 shown inthe FIG. 3C. The input device 350 can include a delete button 358. Thedelete button can cause the input device to send a signal to the set topbox 210 to erase the activity data of the guest accessing the set topbox. The input device includes a reset trigger 362 that is activatedwhen the delete button 358 is engaged. The reset trigger sends thesignal to the set top box 210 to erase the activity data of the guestaccessing the set top box. The set top box, upon receiving the signal,can delete activity data pertaining to the guest from the set top box.The input device 350 also can include a tracking signal module 364. Thetracking signal module 364 can be configured to detect tracking signalsgenerated within a predefined location within which the input device isdesigned to work. The tracking signal can be generated by the set topbox and can be unique to the input device. The tracking signal module364 can be configured to periodically or constantly monitor for thetracking signal. The tracking signal module 364 can be configured togenerate an alarm 366 if the tracking signal module cannot detect thetracking signal. In some implementations, the tracking signal module 364can be configured to generate an alarm if the input device moves to alocation outside the predefined location within which the trackingsignal can be detected. In some implementations, the tracking signal canbe generated by one or more signal generators positioned within a hotelroom in which the set top box is located. In some implementations, thealarm can be an audio alarm, a visual alarm, a haptic alarm, or acombination of one or more. The alarm can include an audio outputdevice, a visual output device or a haptic output device.

In some implementations, the input device can include an deactivationmodule 368 that deactivates the input device rendering the input devicenonfunctional. The deactivation module can be triggered responsive tothe tracking signal module being unable to detect the tracking signal.In this way, the input device cannot function if the device 350 is takento a location outside the predefined area. In this way, the input devicecan be rendered nonfunctional in the case of theft.

Referring now to FIG. 4A, a flow diagram illustrating a flow ofcommunications during a guest check in process is shown. When a guestchecks into the hotel via the hotel management system 202, the hotelmanagement system 202 can be configured to generate and transmit arequest to the cloud management system 120 indicating that a guest haschecked in. The request can identify a room number of the hotel to whichthe guest has checked in, a corresponding set top box identifiercorresponding to the room, a guest identifier identifying the guest,among other information. In some implementations, the request can alsoinclude information relating to the guest's ability to access content orapplications via the set top box based on whether the guest hassubscribed for the content delivery service of the cloud managementsystem.

The cloud management system 120 can receive the request from the hotelmanagement system 202. The cloud management system 120 can identify theset top box equipped in the room to which the guest is assigned. In someimplementations, the cloud management system 120 can perform a lookup ina data structure for the set top box based on the room to which theguest is assigned. The cloud management system 120 can then generate andsend a request to the set top box 210 to configure the set top box. Insome implementations, the request to configure the set top box caninclude guest profile information maintained by the profile manager 268of the cloud management system 120.

The set top box 210 can receive the request to configure the set top box210 from the cloud management system 120. The set top box 210 canexecute the request via the request manager 212. In someimplementations, the request manager can be configured to configure theset top box by first resetting the set top box to its default settings.In some implementations, the set top box can previously have been resetwhen the previous guest checked out. In some implementations, the settop box 210 can be configured to load the guest information receivedfrom the cloud management system 120 and in some implementations,install one or more applications based on the guest profile informationincluded in the request. In some implementations, the request from thecloud management system can identify whether the guest is eligible toaccess one or more applications or to receive content via theapplications based on whether the guest signed up for the contentdelivery service at the time of reservation or check-in.

Referring now to FIG. 4B, a flow diagram illustrating a flow ofcommunications when a guest requests access to an application via theset top box is shown. Once the set top box is configured responsive tothe guest checking into to the hotel and being assigned a room, theguest may access the set top box. The guest may operate the set top box210 via the input device shown in FIG. 3C. The guest can request toaccess an application via the set top box. In some implementations, theapplication can be installed on the set top box. In someimplementations, the application may not be installed on the set top boxbut the guest can request access to the application via a user interfaceof the set top box 210. The set top box 210 can prompt the guest toprovide information regarding the request to purchase access to theapplication. The information can include payment information orinstructions to authorize charging the guest for the service at the timeof checkout. In some implementations, the request can be to access theapplication for the entire stay of the guest or for an allotted amountof time during which the guest can access the application. In someimplementations, the request can be to access multiple applications fora predetermined amount of time. In some implementations, the request canbe to purchase access to the application to view or stream a particularcontent item. In some implementations, the request can be to purchaseauthorization to receive or transmit a predetermined amount of data, forexample, 1 GB of data via the set top box. In some implementations, therequest can be to purchase authorization for a predetermined amount oftime, for instance, 2 hours, among others. In some implementations, theguest may include an authorization code or login credentials that can besent to the hotel management system to validate that the guest hasrequested access and to charge the guest for the purchase.

The set top box can generate the request to purchase access to anapplication and transmit the request to the cloud management system viathe second connection established between the cloud management system120 and the set top box 210. The cloud management system 120 can receivethe request, parse the information from the request and generate andtransmit another request to the hotel management system 202 via thefirst connection established between the hotel management system 202 andthe cloud management system 120. This request can include a request tobill the guest as well as any information that can be used to validatethat the guest requested to purchase access to the application.

Responsive to the hotel management system receiving the request, thehotel management system can determine if the request includesinformation validating that the guest requested to purchase access tothe application. The hotel management system 202 can compare the logincredentials or other validating information to information on file andresponsive to determining that the information matches, the hotelmanagement system 202 can authorize payment for the request to purchaseaccess. The hotel management system 202 can then transmit a requestapproving the payment to the cloud management system 120.

The cloud management system can then generate a request indicating thatthe payment was approved and providing authorization information thatthe set top box 210 can use to install the application and/or to accesscontent via the application for which access was purchased. In someimplementations, the set top box can then allow the guest to launch theapplication for which access was purchased. Once the application islaunched, the guest can request content to access via the application.

Referring now to FIG. 11, a flow diagram illustrating a flow ofcommunications during a guest check out process is shown. At the time ofcheckout, the hotel management system 202 can begin the checkoutprocess. In some implementations, a guest may initiate the checkoutprocess via the set top box equipped in the room the guest was assignedto. In some implementations, the guest may initiate checkout byapproaching the front desk or reception counter. Responsive to the hotelmanagement system 202 receiving an indication that the guest is checkingout, the hotel management system 202 transmits a checkout request to thecloud management system 120. The cloud management system 120 receivesthe request and initiates a checkout routine. The cloud managementsystem 120 can transmit a checkout notification to the set top boxassigned to the guest at the time the guest checked in. The set top box210 may receive the request and may initiate a reset routine. In someimplementations, the reset manager 216 of the set top box 210 mayexecute the reset routine. The reset routine can cause the set top boxto erase all of the guest's stored information that is stored in thememory of the set top box 210. In some implementations, the resetroutine can cause the set top box 210 to be configured to defaultsettings, which can include erasing all data, files, and instructionsstored in one or more folders of one or more applications installed onthe set top box 210. In some implementations, the set top box can alsouninstall one or more applications that the guest accessed during theguest's stay.

FIGS. 5A-5X include screenshots of a display on which a user interfaceof the set top box is displayed. The screenshot shown in FIG. 5A isdisplayed when no guest is assigned to a room in which the set top boxis located. The screenshot shown in FIG. 5B is displayed when a guestassigned to a room in which the set top box is located first accessesthe set top box. The screenshot shown in FIG. 5A is a home screenincluding a plurality of selectable icons to access various services andapplications. The home screen also provides relevant information to theguest. The home screen also provides various services offered by thehotel, including an alarm service or wakeup call service, housekeeping,room service, live TV service, as well as content streaming services.The screenshot shown in FIG. 5D is displayed when the guest accesseslive TV.

The screenshot shown in FIGS. 5E-5H are displayed when the guestrequests to access content from a video on demand service of the hotel.The screenshot shown in FIG. 51 shows recent purchases and order historyof the guest. The screenshots shown in FIG. 5J-5K show services oramenities that can be ordered via the set top box. The screenshot shownin FIG. 5L-5Q show dining ordering capabilities via the set top box. Thescreenshot shown in FIG. 5R-5T show housekeeping request capabilitiesvia the set top box. The screenshot shown in FIG. 5U-5V show taxiordering capabilities via the set top box. The screenshot shown in FIG.5W shows messages from the hotel via the set top box. The screenshotshown in FIG. 5X shows wake up call ordering capabilities via the settop box.

It should be appreciated that the set top box can be configured tocommunicate with the hotel management system to transmit the varioustypes of requests submitted by guest. The hotel management system 202can then route the requests to the appropriate department of the hotelto execute or fulfill those requests. By way of the set top box, thehotel can reduce the number of calls made to guest services and in turnimprove customer service. Guests no longer have to wait for agents to beavailable to take the call, there are less chances of errors due tomisunderstandings between the agent and the guest, the guest canmaintain privacy, among other benefits. As a result, the hotel can savecosts by reducing the number of agents to field calls from guests, aswell as automate various functions such as housekeeping scheduling, wakeup calls, among others.

FIGS. 6A-6M are screenshots of a display on which a user interface ofthe set top box is displayed. The screenshot shown in FIG. 6A is awelcome screen introducing the content delivery service provided by thecloud management system via the set top box. The screenshot shown inFIG. 6B illustrates a request to purchase service to web access via theset top box. The guest may request to purchase web access via the settop box. The screenshots shown in FIGS. 6C-6D illustrate web services towhich the guest purchased access in FIG. 6B. The screenshots shown inFIGS. 6E-6F enable a guest to set up a personal identification number.The screenshots shown in FIGS. 6G-6J enable a guest to access one ormore applications via the set top box. The screenshot shown in FIG. 6Kenables a guest to access a feature that allows the guest to sharepictures, stream music and stream some video content from the guest'smobile device to the television. The screenshot shown in FIG. 6L enablesa guest to adjust the settings of the set top box. These settings may besaved in a profile database of the cloud management system such thatwhen the guest accesses another set top box, the settings of the otherset top box can match the settings that the guest previously set onprevious set top boxes accessed by the guest. The screenshot shown inFIG. 6M includes an instruction that allows the guest to erase data fromthe set top box. In some implementations, the guest can press aparticular button on the input device of the set top box to cause theset top box to erase all of the history and cached files stored on theset top box. In some implementations, the set top box can be configuredto allocate storage locations to which all of the guest's activity isstored. In this way, the set top box can erase the contents of thestorage locations to which the guest's activity is stored with the pressof a button on the input device of the set top box.

Referring now to FIG. 7, FIG. 7 is a flow chart of a process 700 forauthenticating and providing application access via a hotel managementsystem. In brief overview, a cloud management system that isintermediary to a plurality of set top boxes located in rooms of a hotelproperty and a hotel management system of the hotel property canestablish a first connection with the hotel management system of thehotel property (Block 705). The cloud management system can establish asecond connection with a set top box of the hotel property (BLOCK 710).The cloud management system can receive, from the set top box via thesecond connection a request of a guest of the hotel property to purchaseaccess to an application of the plurality of applications provided bythe set top box (BLOCK 715). The cloud management system can transmit,to the hotel management system via the first connection a request forpayment to an account of the guest at the hotel property (BLOCK 720).The cloud management system can transmit, responsive to receivingapproval for payment from the hotel management system, an approval topurchase access to the application via the second connection to the settop box (BLOCK 725). In some implementations, the set top box can grantaccess to the application to the guest of the hotel property responsiveto receiving the approval for payment (BLOCK 730). In someimplementations, the cloud management system can transmit, responsive toreceiving an indication that the guest has checked out of the room, arequest to terminate access to the mobile application of the set top box(BLOCK 735).

In further detail, the cloud management system that is intermediary to aplurality of set top boxes located in rooms of a hotel property and ahotel management system of the hotel property can establish a firstconnection with the hotel management system of the hotel property (Block705). The cloud management system can be configured to communicate withone or more hotel management systems of hotel properties located atdisparate locations. The cloud management system can be configured toestablish a connection with the hotel management system. In someimplementations, the hotel management system may establish a connectionwith the cloud management system. In some implementations, the cloudmanagement system and the hotel management system may establish aconnection with one another. The cloud management system can execute ona server. The server can be configured to connect to a network, such asthe Internet, via which the cloud management system can establish aconnection with the hotel management system.

The cloud management system can be provided access to one or more datastructures maintained by the hotel management system. In someimplementations, the hotel management system can update the one or moredata structures and responsive to updating the data structures, thehotel management system can send a request to the cloud managementsystem indicating an update to the one or more data structures. In someimplementations, the hotel management system can be configured to updatea reservations data structure when a guest checks into the hotel. Thereservations data structure can be updated to identify a room to whichthe guest is assigned and a set top box identifier identifying a set topbox located in the room. The cloud management system can receive thisinformation regarding a guest checking into the hotel and being assigneda room from the hotel management system. In some implementations, thecloud management system can receive a request from the hotel managementsystem indicating that a guest has checked into the hotel.

In some implementations, the cloud management system can receive arequest to assign a set top box to an account of the guest. The cloudmanagement system can then assign the set top box corresponding to theroom to the account of the guest. In some implementations, the cloudmanagement system can transmit data corresponding to the account of theguest maintained by the hotel management system to the set top boxresponsive to assigning the set top box corresponding to the room to theaccount of the guest.

The cloud management system can establish a second connection with a settop box of the hotel property (BLOCK 710). In some implementations, thecloud management system and the set top box to which the guest thatchecked in is assigned can establish a second connection. The secondconnection can be established over a network, such as the Internet. Insome implementations, the second connection can be established over theInternet and a local network In some implementations, the cloudmanagement system can identify, from the request received from the hotelmanagement system, a set top box identifier identifying the set top boxcorresponding to the room to which the guest is checked in to. The cloudmanagement system can then send a request to the set top box via thesecond connection to configure the set top box. The request can includereservation related information that the set top box can use toconfigure the set top box to include information regarding the guest andthe reservation.

The cloud management system can receive, from the set top box via thesecond connection a request of a guest of the hotel property to purchaseaccess to an application of the plurality of applications provided bythe set top box (BLOCK 715). The request to purchase access to anapplication provided by the set top box can include informationidentifying the set top box, the guest, payment information for thepurchase, an application identifier identifying the application, one ormore parameters regarding the access. Examples of parameters can includean amount of data that can be received or streamed via the application,an amount of time for which to purchase the access to the application.The set top box can be configured to generate a request to purchaseaccess responsive to a guest interacting with the set top box via aninput device. In some implementations, the guest can request to purchaseaccess to a content stream application, such as NETFLIX, HULU, AMAZONVIDEO, among others. The guest can request to purchase access byclicking on an icon representing one of these applications. Responsiveto clicking on the icon, the set top box can be configured to display,on the display device coupled to the set top box, a purchase orderprompt requesting the user to confirm that they would like to purchaseaccess to the application. The purchase order prompt can identify apurchase price. Responsive to the user confirming the purchase, the settop box can transmit a request to the cloud management system topurchase access to the application.

In some implementations, the set top box can be configured to have oneor more applications installed on the set top box. The applicationshowever may be inaccessible to the guest until the guest purchasesaccess. In some implementations, the set top box can prevent access tothe application until receipt of approval for payment from the hotelmanagement system. In some implementations, the applications may beencrypted or stored in a particular folder of the set top box thatcannot be accessed until an authorization code issued from the hotelmanagement system is not inserted. In some implementations, the set topbox may hide the application from view until the authorization code orother approval is not issued by the hotel management system.

The cloud management system can transmit, to the hotel management systemvia the first connection, a request for payment to an account of theguest at the hotel property (BLOCK 720). The cloud management system canparse the request received from the set top box and generate a requestfor payment. The cloud management system can transmit the request forpayment to the hotel management system. The request for payment canidentify the set top box from which the request was received along withadditional information that may be used by the hotel management systemto verify that the guest assigned to the set top box requested topurchase access.

The cloud management system can then receive a request from the hotelmanagement system indicating that the hotel management system hasapproved the request for payment. In some implementations, the paymentcan be approved responsive to determining that the guest requested thepurchase. In some implementations, the hotel management system may applya charge to the reservation of the guest that the guest may pay at thetime of checkout.

The cloud management system can transmit, responsive to receivingapproval for payment from the hotel management system, an approval topurchase access to the application via the second connection to the settop box (BLOCK 725). In some implementations, the cloud managementsystem can generate an approval request indicating approval to purchaseaccess to the application. The approval request can then be transmittedby the cloud management system to the set top box for delivery. Theapproval request can include a script, code, instructions or otherinformation that the set top box can use to configure the set top box toenable the guest to access the application as well as to request contentvia the application.

In some implementations, the set top box can grant access to theapplication to the guest of the hotel property responsive to receivingthe approval for payment (BLOCK 730). The set top box can be configuredto analyze the approval request. In some implementations, the approvalrequest can include instructions, data or other information that the settop box can use to enable the guest to access the application as well asto request content via the application. In some implementations, the settop box can be configured to modify permissions associated with theapplication to enable the guest to access the application. Once theapplication is accessible to the guest, the guest can access content viathe application and can stream or request content via the set top box,which can receive the content via a network that is unavailable orotherwise restricts other devices of the guest. In some implementations,the set top box can be configured to enable the set top box to establisha connection with a server of the application and receive, via theconnection with the server, content to be displayed on a display devicecoupled to the set top box.

In some implementations, the set top box can be configured to be pairedwith a device of the guest. In some implementations, the set top box canestablish a third connection with a mobile device of the guest. Forinstance, the set top box can be paired or communicatively coupled to alaptop, mobile phone or tablet of the guest. The set top box can beconfigured to include a screen mirroring application or other displayapplication that enable s the set top box to display content on adisplay device or component of the guest. In some implementations, themobile device can include a corresponding application configured toprovide an interface to communicate with the set top box. In someimplementations, the set top box can launch the application to bedisplayed on the guest's mobile device. In some implementations, the settop box can transmit content for display on a display of the mobiledevice via the application installed on the mobile device that enablesthe mobile device to communicate with the set top box.

In some implementations, the cloud management system can transmit,responsive to receiving an indication that the guest has checked out ofthe room, a request to terminate access to the application of the settop box (BLOCK 735). When a guest checks out of the hotel, the hotelmanagement system can be updated to indicate that the guest has checkedout. The hotel management system can update a reservations databaseindicating that the guest has checked out. As part of the checkoutprocess, the hotel management system can generate a notification to thecloud management system indicating that the guest has checked out. Thecloud management system can generate a request to terminate access tothe application s of the set top box for which the guest previouslypurchased access. The cloud management system can transmit the requestto terminate access to the set top box via the second connection. Theset top box can receive the request to terminate access and beconfigured to execute a reset routine. The reset routine executing onthe set top box can cause the set top box to erase all contentpertaining to the guest from one or more storage locations of the settop box. In some implementations, the set top box can erase all logincredentials, history, browsing data, content that was cached, amongothers. In addition, the set top box can be configured to be restored toa default setting state. In some implementations, applications that theguest had purchased access to may also no longer be available to accessuntil a subsequent request to purchase access is approved.

C. Automatically Erasing Content Stored on a Set Top Box.

Hotels take great measures to maintain the privacy of their guests. Oneof the challenges of deploying set top boxes capable of allowing gueststo access applications as well as access content via the set top boxrelates to privacy. Most devices, including set top boxes, store datarelating to previous activity performed by the devices. For instance, alaptop can include one or more applications including a web browser. Asa user of the laptop surfs the web, the web browser maintains a log ofthe websites the user visits, the login credentials the user provides toone or more websites, among others. A guest of a hotel can expect thattheir activities via the set top box located in their room to remainprivate. Furthermore, the guest may desire to be able to eraseinformation relating to activities of the guest via the set top box ondemand or at the minimum, at the time the guest checks out of the hotel.

Aspects of the present disclosure relate to methods and systems forautomatically erasing content stored on a set top box. In someimplementations, the content stored on the set top box can be erasedresponsive to an input received on a remote device. In someimplementations, the content stored on the set top box can be erasedresponsive to a guest checking out of the room in which the set top boxis located.

Referring again to FIG. 2A, the set top box 210 can be coupled to adisplay device on which the set top box can display content to theguest. In some implementations, the content can be tailored for theguest. In some implementations, when the guest checks into a hotel andis assigned a room, the hotel management system 202 can identify a settop box equipped for the room to which the guest is assigned and cancause the set top box to be configured with reservation information ofthe guest. In this way, when the guest accesses the set top box, the settop box can cause the display device to display content relevant to theguest. In some implementations, the hotel management system 202 can senda request to activate the set top box 210. In some implementations, theset top box 210 can receive the request to activate the set top box viathe cloud management system 120.

During the course of the guest's stay, the guest can access the set topbox 210 and may request to purchase access to one or more applications.In addition, the guest may request one or more services provided by thehotel via the set top box 210. For instance, the guest may request towatch a movie via a video on demand service of the hotel. The guest mayalso order food or housekeeping services, amongst others, via the settop box 210.

The set top box 210 can monitor and store the activity of the guestbased on the requests the guest made via the set top box 210. In someimplementations, the set top box can be configured to create a storagelocation in a memory of the set top box in which the set top box canstore this activity. In some implementations, the set top box can beconfigured to store data relating to any services the guest ordered inthe storage location. In addition, the set top box can be configured tostore any data relating to web browsing activity performed by the guestvia the set top box or a browser installed on the set top box in thestorage location. The data relating to web browsing activity can includea history of the pages visited or requested, one or more search queriesor entries typed in input fields, browsing data cached by a cache of theweb browser, among others. The set top box can also store logincredentials of one or more applications installed on the set top boxthat are provided by the guest. In some implementations, the storagelocations created by the set top box at which to store the datagenerated from usage of the set top box by the guest can be configuredto maintain separate folders for the different types of data collectedby the set top box. For instance, the storage location can maintain oneor more separate folders for each application. For instance, a browsercan include a history folder maintaining the history of the pagesvisited via the browser, a cache folder storing content objectsdisplayed by the browser, a login credentials folder that can storelogin credentials, a cookies folder that can store one or more cookies,among others. Similarly, the set top box can be configured such thatdifferent applications installed on the set top box can also beconfigured to store any guest activity related data in differentapplication specific folders, locations, or objects within the storagelocation identified by the set top box for storing guest relatedactivity.

As described above with respect to Section B, the set top box 210 caninclude the reset manager 216. The reset manager 216 can comprisecomponents, subsystems, modules, scripts or one or more sets ofcomputer-executable instructions and can be configured to reset the settop box. In some implementations, the set top box can be reset byexecuting one or more instructions on the set top box that cause the settop box to return to default settings. In addition, the instructions cancause the set top box to erase all data that is stored on the set topbox that is generated based on activity of the guest. This can includeany of the data stored responsive to the guest accessing one or moreapplications, browsers, hotel services, video on demand services, amongothers via the set top box.

The reset manager 216 can be configured to detect a reset request. Insome implementations, the reset manager 216 can receive a reset requestfrom an input device that is remote to the set top box. The input devicecan be a remote control or a device of the guest that is communicativelycoupled to the set top box. In some implementations, the remote control,such as the remote control shown in FIGS. 3A-3C can include a dedicatedreset button. In some implementations, the reset button can be a deletebutton. The reset button can be a dedicated button the input device,which when pressed or otherwise interacted, can cause the remote controlto transmit a reset request to the set top box. In some implementations,a device of the guest can be configured or can be installed with anapplication that includes a user interface through which the guest cantransmit a reset request.

In some implementations, the reset manager can be configured to receivea reset request from the hotel management system 202 or the server 106executing the cloud management system 120. In some implementations, whena guest checks out of the hotel, the hotel management system 202 cansend a notification to one of the cloud management system 120 or the settop box 210 that the guest has checked out. In some implementations, thenotification sent to the set top box 210 can be in the form of a resetrequest. In some implementations, the cloud management system 120,responsive to receiving the notification from the hotel managementsystem 202, can generate and transmit a reset request to the set top box210.

The reset manager 216 can be configured to execute the reset request. Insome implementations, to execute the reset request, the reset manager216 can identify the storage location at which the guest relatedactivity is stored. The reset manager 216 can then cause the set top boxto uninstall all of the applications installed on the set top box afterthe set top box was assigned to the guest. The reset manager 216 canthen cause the set top box to delete or erase all files, data, orcontent stored at the identified storage location after the set top boxwas assigned to the guest. In some implementations, the reset manager216 may permanently delete or erase the all files, data, or contentstored at the identified storage location after the set top box wasassigned to the guest. After the reset manager 216 deletes all of thecontent, the reset manager 216 can be configured to restore the set topbox to default settings such that the set top box is ready to receive arequest to configure the set top box for the next guest that is assignedto the room for which the set top box is located.

Referring now to FIG. 8, FIG. 8 is a flow chart of a process forautomatically erasing content stored on a set top box via a dedicatedinput object of a remote input device. In brief overview, a set top boxreceives a request to activate the set top box (BLOCK 805). The set topbox can create a storage location to which the set top box is configuredto store identifiers and passwords of a guest (BLOCK 810). The set topbox can store one or more user identifiers and passwords of the guestthat correspond to one of one or more applications or web servicesaccessed via the device (BLOCK 815). The set top box can receive, from aremote control device via a wireless communication, a command to deletethe user identifiers and passwords stored on the set top box responsiveto selection of a delete button on the remote control device (BLOCK820). An agent executing on the set top box can delete the one or moreuser identifiers and passwords from the set top box responsive toreceipt of the command. (BLOCK 825).

In further detail, the set top box receives a request to activate theset top box (BLOCK 805). In some implementations, the device is a settop box connected to a viewing device in a hotel property. In someimplementations, the set top box can be activated responsive to a guestbeing assigned to a room in which the set top box is located. In someimplementations, when the guest checks into a hotel and is assigned aroom, the hotel management system 202 can identify a set top box locatedin the room to which the guest is assigned and can cause the set top boxto be configured with reservation information of the guest. In this way,when the guest accesses the set top box, the set top box can cause thedisplay device to display content relevant to the guest In someimplementations, the hotel management system 202 can send a request toactivate the set top box 210. In some implementations, the set top box210 can receive the request to activate the set top box via the cloudmanagement system 120. In some implementations, the set top box can beconfigured to receive the request to activate the device from the cloudmanagement system that receives communications from the hotel managementsystem. The request to activate the device can be transmitted by thecloud management system responsive to the hotel management systemassigning the user to a room corresponding to the device.

The set top box can create a storage location to which the set top boxis configured to store identifiers and passwords of a guest (BLOCK 810).The set top box can be configured to activate responsive to receivingthe request to activate. The set top box can be activated by performingan initialization routine. Part of that initialization routine includesidentifying the reservation information included in the request toactivate the set top box and generating a user interface that iscustomized based on the reservation, the guest and the guest'spreferences. Another part of the initialization routine can includecreating a storage location in memory of the set top box where datarelating to activities performed by the guest after the set top box hasbeen activated is stored.

The set top box can store one or more user identifiers and passwords ofthe guest that correspond to one of one or more applications or webservices accessed via the device (BLOCK 815). In some implementations,the device can store a user's activity via one of a browser or a webservice via the device. In some implementations, the set top box canstore data relating to any services the guest ordered in the storagelocation. In addition, the set top box can store any data relating toweb browsing activity performed by the guest via the set top box or abrowser installed on the set top box in the storage location. The datarelating to web browsing activity can include a history of the pagesvisited or requested, one or more search queries or entries typed ininput fields, browsing data cached by a cache of the web browser, amongothers. The set top box can also store login credentials of one or moreapplications installed on the set top box that are provided by theguest. In some implementations, the storage locations created by the settop box at which to store the data generated from usage of the set topbox by the guest can be configured to maintain separate folders for thedifferent types of data collected by the set top box. For instance, thestorage location can maintain one or more separate folders for eachapplication. For instance, a browser can include a history foldermaintaining the history of the pages visited via the browser, a cachefolder storing content objects displayed by the browser, a logincredentials folder that can store login credentials, a cookies folderthat can store one or more cookies, among others. Similarly, the set topbox can be configured such that different applications installed on theset top box can also be configured to store any guest activity relateddata in different application specific folders, locations, or objectswithin the storage location identified by the set top box for storingguest related activity.

The set top box can receive, from a remote control device via a wirelesscommunication, a command to delete the user identifiers and passwordsstored on the set top box responsive to selection of a delete button onthe remote control device (BLOCK 820). In some implementations, thereset manager of the set top box can receive a reset request from aninput device that is remote to the set top box. The reset request caninclude a request to delete the user identifiers and passwords stored onthe set top box. The input device can be a remote control or a device ofthe guest that is communicatively coupled to the set top box. In someimplementations, the remote control, such as the remote control shown inFIGS. 3A-3C can include a dedicated reset button. In someimplementations, the reset button can be a delete button. The resetbutton can be a dedicated button the input device, which when pressed orotherwise interacted, can cause the remote control to transmit a resetrequest to the set top box. In some implementations, a device of theguest can be configured or can be installed with an application thatincludes a user interface through which the guest can transmit a resetrequest. In some implementations, the guest may be required to enter apasscode or other identifying information to confirm that the guest isrequesting to transmit the reset request.

The agent executing on the set top box can delete the one or more useridentifiers and passwords from the set top box responsive to receipt ofthe command. (BLOCK 825). In some implementations, the agent of the settop box, for instance, the reset manager of the set top box can resetthe set top box. In some implementations, the reset manager executing onthe set top box can cause the set top box to return to default settings.In addition, the reset manager executing on the set top box can causethe set top box to erase all data that is stored on the set top box thatis generated based on activity of the guest. This can include any of thedata stored responsive to the guest accessing one or more applications,browsers, hotel services, video on demand services, among others via theset top box. In addition, this can include deleting the one or more useridentifiers and passwords from the set top box. In some implementations,the reset manager can identify one or more storage locations to whichthe set top box is configured to store the one or more user identifiersand passwords. The reset manager can then delete the one or more useridentifiers and passwords from the identified one or more storagelocations. In some implementations, the set top box can uninstall theone or more applications or web services accessed via the set top box.

FIG. 9 is a flow chart of a process for automatically erasing contentstored on a remote set top box via a hotel management system. In briefoverview, a set top box receives a request to activate the set top box(BLOCK 905). The set top box can create a storage location to which theset top box is configured to store identifiers and passwords of a guest(BLOCK 910). The set top box can store one or more user identifiers andpasswords of the guest that correspond to one of one or moreapplications or web services accessed via the set top box (BLOCK 915).The set top box can receive a communication identifying that the guestof the hotel property corresponding to the set top box has checked outfrom the hotel property (BLOCK 920). An agent of the set top box canthen delete the one or more user identifiers and passwords of the guestfrom the set top box responsive to receipt of the communication (BLOCK925).

In further detail, the set top box receives a request to activate theset top box (BLOCK 905). In some implementations, the device is a settop box connected to a viewing device in a hotel property. In someimplementations, the set top box can be activated responsive to a guestbeing assigned to a room in which the set top box is located. In someimplementations, when the guest checks into a hotel and is assigned aroom, the hotel management system 202 can identify a set top box locatedin the room to which the guest is assigned and can cause the set top boxto be configured with reservation information of the guest. In this way,when the guest accesses the set top box, the set top box can cause thedisplay device to display content relevant to the guest In someimplementations, the hotel management system 202 can send a request toactivate the set top box 210. In some implementations, the set top box210 can receive the request to activate the set top box via the cloudmanagement system 120. In some implementations, the set top box can beconfigured to receive the request to activate the device from the cloudmanagement system that receives communications from the hotel managementsystem. The request to activate the device can be transmitted by thecloud management system responsive to the hotel management systemassigning the user to a room corresponding to the device.

The set top box can create a storage location to which the set top boxis configured to store identifiers and passwords of a guest (BLOCK 910).The set top box can be configured to activate responsive to receivingthe request to activate. The set top box can be activated by performingan initialization routine. Part of that initialization routine includesidentifying the reservation information included in the request toactivate the set top box and generating a user interface that iscustomized based on the reservation, the guest and the guest'spreferences. Another part of the initialization routine can includecreating a storage location in memory of the set top box where datarelating to activities performed by the guest after the set top box hasbeen activated is stored.

The set top box can store one or more user identifiers and passwords ofthe guest that correspond to one of one or more applications or webservices accessed via the device (BLOCK 915). In some implementations,the device can store a user's activity via one of a browser or a webservice via the device. In some implementations, the set top box canstore data relating to any services the guest ordered in the storagelocation. In addition, the set top box can store any data relating toweb browsing activity performed by the guest via the set top box or abrowser installed on the set top box in the storage location. The datarelating to web browsing activity can include a history of the pagesvisited or requested, one or more search queries or entries typed ininput fields, browsing data cached by a cache of the web browser, amongothers. The set top box can also store login credentials of one or moreapplications installed on the set top box that are provided by theguest. In some implementations, the storage locations created by the settop box at which to store the data generated from usage of the set topbox by the guest can be configured to maintain separate folders for thedifferent types of data collected by the set top box. For instance, thestorage location can maintain one or more separate folders for eachapplication. For instance, a browser can include a history foldermaintaining the history of the pages visited via the browser, a cachefolder storing content objects displayed by the browser, a logincredentials folder that can store login credentials, a cookies folderthat can store one or more cookies, among others. Similarly, the set topbox can be configured such that different applications installed on theset top box can also be configured to store any guest activity relateddata in different application specific folders, locations, or objectswithin the storage location identified by the set top box for storingguest related activity.

The set top box can receive a communication identifying that the guestof the hotel property corresponding to the set top box has checked outfrom the hotel property (BLOCK 920). In some implementations, the settop box can receive a communication, such as a reset request, from thehotel management system 202 or the server 106 executing the cloudmanagement system 120. In some implementations, when a guest checks outof the hotel, the hotel management system 202 can send a notification toone of the cloud management system 120 or the set top box 210 that theguest has checked out. In some implementations, the notification sent tothe set top box 210 can be in the form of a reset request. In someimplementations, the cloud management system 120, responsive toreceiving the notification from the hotel management system 202, cangenerate and transmit a reset request to the set top box 210.

The agent executing on the set top box can delete the one or more useridentifiers and passwords from the set top box responsive to receipt ofthe communication. (BLOCK 825). In some implementations, the agent ofthe set top box, for instance, the reset manager of the set top box canreset the set top box. In some implementations, the reset managerexecuting on the set top box can cause the set top box to return todefault settings. In addition, the reset manager executing on the settop box can cause the set top box to erase all data that is stored onthe set top box that is generated based on activity of the guest. Thiscan include any of the data stored responsive to the guest accessing oneor more applications, browsers, hotel services, video on demandservices, among others via the set top box. In addition, this caninclude deleting the one or more user identifiers and passwords from theset top box. In some implementations, the reset manager can identify oneor more storage locations to which the set top box is configured tostore the one or more user identifiers and passwords. The reset managercan then delete the one or more user identifiers and passwords from theidentified one or more storage locations. In some implementations, theset top box can uninstall the one or more applications or web servicesaccessed via the set top box.

It should be appreciated that although the specification and claimsrefer to hotels, the application is not limited to hotels. Rather, thescope of the application may extend to other properties in which set topboxes are deployed. It should be appreciated that the scope of theapplication extends to hospitals, airports, aircrafts, trains, othervehicles, and other premises where internet connectivity and bandwidthis limited or restricted. Further, although the specification and claimsrefer to set top boxes, the set top boxes can be any device that enablesusers to access content or applications via a network that devices ofthe user are unauthorized to user or have restricted access.

The invention claimed is:
 1. A method comprising: receiving, by adevice, a request to activate the device installed in a room to which auser is assigned, the request to activate the device received from acloud management system that receives communications from a hotelmanagement system, the request to activate the device transmitted by thecloud management system responsive to the hotel management systemassigning the user to a room corresponding to the device; identifying,by the device, responsive to the request to activate the device, areservation information of a user included in the request; generating,by the device, responsive to identifying the reservation information, acustomized user interface including details specific to the user, thegenerated customized user interface configured for presentation via thedevice; creating, by the device, responsive to the request to activatethe device, in a storage location on the device, a first storage objectto which the device is configured to store one or more user identifiersand passwords of the user; storing, by the device, in the createdstorage object on the device, one or more user identifiers and passwordsof the user corresponding to one of one or more applications or webservices accessed via the device; receiving, by the device, a request toaccess a first application of the one or more applications via thedevice, access to the application restricted by the device;transmitting, by the device, to the cloud management system, responsiveto the request a request to access the first application via the device,a request for authorization by the device to provide access to the firstapplication via the device; receiving, by the device, responsive to thecloud management system transmitting a request to a hotel managementsystem to authorize providing access to the first application via thedevice, instructions to provide access to the first application via thedevice; modifying, by the device, a configuration of the device to grantaccess to the first application via the device; receiving, by thedevice, from a computing device of the user, a request to transmitcontent of the first application from the device to the computing devicefor presentation of the content on the computing device; transmitting,by the device, the content for presentation on the computing deviceresponsive to both the i) device receiving instructions to provideaccess to the first application via the device and ii) device receivingthe request to transmit content of the first application to thecomputing device; receiving, by the device from a remote control devicevia a wireless communication, a command to delete the user identifiersand passwords stored in the created storage object on the deviceresponsive to selection of a delete button on the remote control device;deleting, by an agent of the device responsive to receipt of thecommand, the one or more user identifiers and passwords from the createdstorage object on the device; and updating, by the device, responsive todeleting the one or more user identifiers and passwords from the createdstorage object on the device, settings of the device to enable thedevice to create a second storage object for storing user identifiersand passwords of another user responsive to receiving a subsequentrequest to activate the device from the cloud management system.
 2. Themethod of claim 1, wherein the device is a set top box connected to aviewing device in a hotel property.
 3. The method of claim 1, whereindeleting the one or more user identifiers and passwords from the createdstorage object on the device further comprises: identifying, by theagent, one or more storage locations to which the device is configuredto store the one or more user identifiers and passwords; and deletingthe one or more user identifiers and passwords from the identified oneor more storage locations.
 4. The method of claim 1, wherein storing, inthe created storage object on the device, one or more user identifiersand passwords of the user further comprises storing by the device, acache of a user's activity via one of a browser or a web service via thedevice.
 5. The method of claim 1, wherein storing, in the createdstorage object on the device, one or more user identifiers and passwordsof the user further comprises storing by the device, a history of auser's activity via one of a browser or a web service via the device. 6.The method of claim 1, wherein deleting the one or more user identifiersand passwords from the created storage object on the device furthercomprises deleting, by the device, one or more of a cache of a user'sactivity generated via one of a browser or a web service executing onthe set top box or a history of the user's activity maintained via oneof a browser or a web service executing on the set top box.
 7. Themethod of claim 1, wherein deleting the one or more user identifiers andpasswords from the created storage object on the device furthercomprises uninstalling, by the device, the one or more applications orweb services accessed via the device.
 8. The method of claim 1, whereindeleting the one or more user identifiers and passwords from the createdstorage object on the device further comprises establishing, by thedevice, the wireless connection with the device including an applicationconfigured to generate the command to cause the device to delete the oneor more user identifiers and passwords from the device.
 9. A methodcomprising: receiving, by a set top box, a request to activate the settop box installed in a room to which a guest is assigned, the request toactivate the set top box received from a cloud management system thatreceives communications from a hotel management system, the request toactivate the set top box transmitted by the cloud management systemresponsive to the hotel management system assigning the guest to a roomcorresponding to the set top box; identifying, by the set top box,responsive to the request to activate the set top box, a reservationinformation of a guest included in the request; generating, by the settop box, responsive to identifying the reservation information, acustomized user interface including details specific to the guest, thegenerated customized user interface configured for presentation via theset top box; creating, by the set top box, responsive to the request toactivate the set top box, in a storage location on the set top box, afirst storage object to which the set top box is configured to store oneor more user identifiers and passwords of the guest; storing, by the settop box, one or more user identifiers and passwords of the guestcorresponding to one of one or more applications or web servicesaccessed via the set top box by the guest; receiving, by the set topbox, a request to access a first application of the one or moreapplications via the set top box, access to the application restrictedby the set top box; transmitting, by the set top box, to the cloudmanagement system, responsive to the request a request to access thefirst application via the set top box, a request for authorization bythe set top box to provide access to the first application via the settop box; receiving, by the set top box, responsive to the cloudmanagement system transmitting a request to a hotel management system toauthorize providing access to the first application via the set top box,instructions to provide access to the first application via the set topbox; modifying, by the set top box, a configuration of the set top boxto grant access to the first application via the set top box; receiving,by the set top box, from a computing device of the user, a request totransmit content of the first application from the set top box to thecomputing device for presentation of the content on the computingdevice; transmitting, by the set top box, the content for presentationon the computing device responsive to both the i) set top box receivinginstructions to provide access to the first application via the set topbox and ii) set top box receiving the request to transmit content of thefirst application to the computing device; receiving, by the set topbox, a communication identifying that the guest of the hotel propertycorresponding to the set top box has checked out from the hotelproperty; deleting, by an agent of the set top box responsive to receiptof the communication, the one or more user identifiers and passwords ofthe guest from the created storage object on the set top box; andupdating, by the set top box, responsive to deleting the one or moreuser identifiers and passwords from the created storage object on theset top box, settings of the set top box to enable the set top box tocreate a second storage object for storing user identifiers andpasswords of another guest responsive to receiving a subsequent requestto activate the set top box from the cloud management system.
 10. Themethod of claim 9, wherein the set top box is connected to a viewingdevice in a hotel property.
 11. The method of claim 9, wherein storingor more user identifiers and passwords of the guest further comprisesstoring, by the set top box, a cache of a guest's activity via one of abrowser or a web service via the set top box.
 12. The method of claim 9,wherein deleting the one or more user identifiers and passwords of theguest further comprises: identifying, by the agent, one or more storagelocations to which the set top box is configured to store the one ormore user identifiers and passwords; and deleting the one or more useridentifiers and passwords from the identified one or more storagelocations.
 13. The method of claim 9, wherein deleting the one or moreuser identifiers and passwords of the guest further comprises deleting,by the set top box, one or more of a cache of a guest's activity via oneof a browser or a web service via the set top box or a history of aguest's activity via one of a browser or a web service via the set topbox.
 14. The method of claim 9, wherein deleting the one or more useridentifiers and passwords of the guest further comprises uninstalling,by the set top box, the one or more applications or web servicesaccessed via the set top box.
 15. The method of claim 9, furthercomprising creating, by the agent, the storage location to which the settop box is configured to store the one or more user identifiers andpasswords responsive to receiving a request to activate the set top boxfrom a cloud management system that receives communications from thehotel management system, the request to activate the set top boxtransmitted by the cloud management system responsive to the hotelmanagement system assigning the guest to a room corresponding to the settop box.
 16. The method of claim 10, further comprising: generating, bythe set top box, responsive to deleting the one or more user identifiersand passwords of the guest, a notification indicating that the one ormore user identifiers and passwords of the guest have been deleted; andtransmitting, by the set top box, the generated notification fordelivery to a mobile device of the guest.
 17. A system, comprising: aset top box comprising a plurality of applications or web servicesaccessible by a user of a hotel property, the set top box installed in aroom to which a user is assigned and configured to receive a request toactivate the set top box received from a cloud management system thatreceives communications from a hotel management system, the request toactivate the set top box transmitted by the cloud management systemresponsive to the hotel management system assigning the user to a roomcorresponding to the set top box; identify, responsive to the request toactivate the set top box, a reservation information of a user includedin the request; generate, responsive to identifying the reservationinformation, a customized user interface including details specific tothe user, the generated customized user interface configured forpresentation via the set top box; create, responsive to the request toactivate the set top box, in a storage location on the set top box, afirst storage object to which the set top box is configured to store oneor more user identifiers and passwords of the user; store, in thecreated first storage object, one or more user identifiers and passwordsof the user corresponding to one of the plurality of applications or webservices accessed via the set top box; receive a request to access afirst application of the one or more applications via the set top box,access to the application restricted by the set top box; transmit, tothe cloud management system, responsive to the request a request toaccess the first application via the set top box, a request forauthorization by the set top box to provide access to the firstapplication via the set top box; receive, responsive to the cloudmanagement system transmitting a request to a hotel management system toauthorize providing access to the first application via the set top box,instructions to provide access to the first application via the set topbox; modify a configuration of the set top box to grant access to thefirst application via the set top box; receive, from a remote controldevice of the user, a request to transmit content of the firstapplication from the set top box to the remote control device forpresentation of the content on the remote control device; transmit thecontent for presentation on the remote control device responsive to boththe i) set top box receiving instructions to provide access to the firstapplication via the set top box and ii) set top box receiving therequest to transmit content of the first application to the remotecontrol device; the remote control device configured to communicate withthe set top box, the remote control device configured to transmit acommand to delete the user's history on the set top box responsive toselection of a delete button on the remote control device; and whereinthe set top box comprises an agent configured to delete the one or moreuser identifiers and passwords stored in the created first storageobject from the set top box responsive to receipt of the command; andwherein the set top box is further configured to reset, responsive todeleting the one or more user identifiers and passwords from the createdstorage object on the set top box, settings of the set top box to enablethe set top box to create a second storage object for storing useridentifiers and passwords of another user responsive to receiving asubsequent request to activate the set top box from the cloud managementsystem.
 18. The system of claim 17, wherein the agent of the set top boxis further configured to delete a user's activity generated via one of abrowser or a web service executing on the set top box or a history ofthe user's activity maintained via one of a browser or a web serviceexecuting on the set top box.